在 Matplotlib 中更频繁地设置 X 轴标签名称
Setting X axis label name more frequently in Matplotlib
我有一个这样的数据框
Time(DDHHMM) True AOG Predicted AOG
5184 28:0:0.0 4.0 4.697324
5185 28:0:5.0 10.0 0.366948
5186 28:0:10.0 6.0 6.158011
5187 28:0:15.0 9.0 8.388459
5188 28:0:20.0 24.0 23.883515
... ... ... ...
5759 29:23:55.0 8.0 8.124675
我正在尝试使用以下代码绘制它们
dataframe.plot(x='Time(DDHHMM)', y=['True','Predicted'],kind="line", figsize=(14,7),marker='.',grid=True)
plt.title("true and predicted data (EB-WB)")
plt.xlabel('Time',labelpad=2)
plt.ylabel('AOG')
plt.legend(loc='best',fancybox=True)
plt.grid(True)
plt.xlim(0,288)
plt.ylim(0,80)
plt.show()
并获取只有 3 个 x 轴值名称的图形。
但是,我想添加更多的 x 轴值名称,但在文档中找不到任何可用的名称。我尝试使用 xticks(start,end,step)
但它没有改变任何东西。我还尝试了 plot.locator_params(axis='x', nbins=20)
从一个不起作用的 Whosebug 问题。我该如何解决这个问题?
在 plt.show()
之前,尝试插入此代码:
# change n to satisfy your needs
n = 3
ticks = [t for t in range(len(df)) if t % n == 0]
labels = [l for i, l in enumerate(df["Time(DDHHMM)"]) if i % n == 0]
plt.xticks(ticks, labels)
我有一个这样的数据框
Time(DDHHMM) True AOG Predicted AOG
5184 28:0:0.0 4.0 4.697324
5185 28:0:5.0 10.0 0.366948
5186 28:0:10.0 6.0 6.158011
5187 28:0:15.0 9.0 8.388459
5188 28:0:20.0 24.0 23.883515
... ... ... ...
5759 29:23:55.0 8.0 8.124675
我正在尝试使用以下代码绘制它们
dataframe.plot(x='Time(DDHHMM)', y=['True','Predicted'],kind="line", figsize=(14,7),marker='.',grid=True)
plt.title("true and predicted data (EB-WB)")
plt.xlabel('Time',labelpad=2)
plt.ylabel('AOG')
plt.legend(loc='best',fancybox=True)
plt.grid(True)
plt.xlim(0,288)
plt.ylim(0,80)
plt.show()
并获取只有 3 个 x 轴值名称的图形。
但是,我想添加更多的 x 轴值名称,但在文档中找不到任何可用的名称。我尝试使用 xticks(start,end,step)
但它没有改变任何东西。我还尝试了 plot.locator_params(axis='x', nbins=20)
从一个不起作用的 Whosebug 问题。我该如何解决这个问题?
在 plt.show()
之前,尝试插入此代码:
# change n to satisfy your needs
n = 3
ticks = [t for t in range(len(df)) if t % n == 0]
labels = [l for i, l in enumerate(df["Time(DDHHMM)"]) if i % n == 0]
plt.xticks(ticks, labels)