我试图将时间与百分比值进行对比,我有很多测量点。我还希望x轴显示格式化的时间,以便它能够了解当时和何处。最后一点是我想要比实际测量点更少的xticks。
我的问题是,当我尝试绘制时,我的xticks被移动到轴的左侧。见下图
我的代码看起来像这样
import time
import matplotlib.pyplot as plt
ticks = [ctime1, ctime2, ctime3]
x = range(10)
y = range(10)
plt.xticks(x, ticks)
plt.plot(x,y)
plt.show()
谢谢!
答案 0 :(得分:0)
这实际上是预期的行为,因为您的x
变量包含10个值,而您的ticks
变量只包含3.您需要创建tick
条目以对应{中的每个条目{1}}如果您不希望它们仅显示在您显示的左侧。
另一个问题是刻度文字太长,所以有很多重叠。也许可以考虑旋转xticks。
x
否则你可以减少xticks的数量。
import time
import matplotlib.pyplot as plt
x = range(10)
y = range(10)
# Xtick labels
ticks = [ctime(val) for val in x]
plt.plot(x,y)
# Plot ticks with a rotation
plt.xticks(x, ticks, rotation=12)
plt.show()