例如,在下面的代码中:
import numpy as np
import matplotlib.pyplot as plt
N = 10
x = [1,2,3,4,5,6,7,8,9,10]
y = np.random.rand(N)
plt.scatter(x, y)
plt.show()
我得到了下面的图
如你所见,在x轴中,只有偶数值出现,如何强制matplotlib显示所有值,即1 2 3 4 5 6 7 8 9 10
?
例如,在下面的代码中:
import numpy as np
import matplotlib.pyplot as plt
N = 10
x = [1,2,3,4,5,6,7,8,9,10]
y = np.random.rand(N)
plt.scatter(x, y)
plt.show()
我得到了下面的图
如你所见,在x轴中,只有偶数值出现,如何强制matplotlib显示所有值,即1 2 3 4 5 6 7 8 9 10
?
2条答案
按热度按时间ogq8wdun1#
使用
plt.xticks(x)
。请参阅文档。注意,只使用刻度的输入值通常会让查看者感到困惑。使用均匀间隔的刻度更有意义。
gev0vcfq2#
使用非均匀分布的值设置xticks有时会导致“错误”绘图。例如,在以下情况下:
x-tick标签在某些点不可读。
刻度标签最好均匀分布:
仅供参考,您可以通过调用
plt.xlim()
或plt.ylim()
来获取轴的限制,以便设置更准确的刻度标签。此外,使用plt.xticks()
(和plt.yticks()
),您可以设置任意刻度标签。例如,刻度标签可以是字符串(如a
、b
、c
),而不是数字。通过显式创建子图并设置Axes对象的属性,可以绘制完全相同的图形。