我希望y轴只显示数字100、200和300,而不是用科学记数法。有什么想法吗
Current plot
简化代码:
from matplotlib import pyplot as plt
import numpy as np
x = np.logspace(2, 6, 20)
y = np.logspace(np.log10(60), np.log10(300), 20)
plt.scatter(x, y[::-1])
plt.xscale('log')
plt.yscale('log')
plt.show()
Tags:
主定位器和次定位器确定刻度的位置。标准位置通过
AutoLocator
设置。NullLocator
删除它们。一个MultipleLocator(x)
每隔几次x
显示一次滴答声对于y轴,设置标准刻度位置将显示顶部的刻度,这些刻度彼此更接近,这由对数刻度确定。但是,由于范围较大,对x轴执行相同操作会使它们靠得太近。因此,对于x轴,由
LogLocator
确定的位置可以保持不变格式化程序控制记号的显示方式。
ScalarFormatter
设置默认方式。有一个选项scilimits
用于确定应使用科学符号表示的数值范围。由于1.000.000通常显示为1e6
,设置scilimits=(-6,9)
可以避免这种情况相关问题 更多 >
编程相关推荐