python - 在 python 图中将 2^n 转换为数值
问题描述
我正在尝试在 python 中绘制一条线并在轴上使用对数基刻度。但是,我希望将值显示为数值而不是 2^n,即 2^1 应显示为 2,2^2 应显示为 4,依此类推。是否可以更改这些值?
这是我当前的绘图代码:
# plot the line
plt.plot(labeled_samples, result, color='black', label='Normal SVM', marker='*')
#plt.plot(, color='black', label = 'Polynomial', marker='o')
plt.legend(loc="upper right")
plt.ylim([0.05, 0.5])
plt.yticks(np.arange(0.05, 0.55, 0.05))
plt.xscale('log', basex=2)
plt.xlabel('Nb of labeled points')
plt.ylabel('Test error')
set_major_formatter(ScalarFormatter())
plt.show()
解决方案
这是一种方法:使用整数值修改 x 轴上的刻度标签。您未能提供最小、完整和可验证的示例,因此我使用了一些测试数据
x = np.logspace(1, 7, 7, base=2, dtype=int)
y = x**0.05
plt.plot(x, y, color='black', label='Normal SVM', marker='*')
plt.legend(loc="upper right")
plt.xscale('log', basex=2)
plt.xlabel('Nb of labeled points')
plt.ylabel('Test error')
plt.xticks(x, x);
推荐阅读
- apache - Apache Solr 7.4:深度嵌套对象的用例可行性
- php - 网站无法在 iPad 或 iPhone 上加载,但在其他任何地方都加载得很好
- javascript - Constructor Function vs Object.create - 有什么区别和应用?
- oracle - 当我从 oracle 填充数据时,为什么 $dataset.tables[0] powershell 为空?
- javascript - 使用字符串 [] 数组作为参数从 Javascript 获取字符串索引值到 MVC C# 控制器
- erlang - Erlang :ssh 认证错误。如何使用身份文件连接到 ssh
- ios - 为什么 UITableView contentOffset 在 tableview reloadData 期间变化很大,而不是保持不变?reloadData 后如何使其保持不变?
- arrays - 用于存储先前值(并刷新它们)的正确代码
- scilab - Scilab中for循环内的矩阵乘法
- python - 使用 lxml 和 python 请求进行抓取。