我是python的新手,正尝试绘制一些时间序列数据。我正在使用pyplot创建3个堆积的折线图,它们具有相同的x轴(日期),但y轴的比例不同。但是,每个y轴以及底部图表的x轴都有重叠的标签。有从0到1生成的标签,以及从我的数据集中生成的轴标签。如何关闭y轴和底部x轴上自动生成的0到1标签?
fig, ax = plt.subplots(3,1,sharex='all', squeeze=False, figsize=(12,8))
ax = fig.add_subplot(3,1,1)
plt.plot(df1['date'], df1['value'])
ax2 = fig.add_subplot(3,1,2)
plt.plot(df2['date'], df2['value'])
ax3 = fig.add_subplot(3,1,3)
plt.plot(df3['date'], df3['value'])
plt.show()
您可以在下图中看到问题。任何帮助将不胜感激!
答案 0 :(得分:0)
您已经用初始分配中的所有轴创建了子图
fig, ax = plt.subplots(3,1,sharex='all', squeeze=False, figsize=(12,8))
因此,以下分配
ax = fig.add_subplot(3,1,1)
ax2 = fig.add_subplot(3,1,2)
ax3 = fig.add_subplot(3,1,3)
不仅是不必要的,而且似乎与已经创建的子图重叠(如果将其更改为add_subplot(2,1,1),您会发现它只是开始再次分割图形并将轴彼此重叠)。
您要执行的操作是访问在plt.subplots()调用中创建的轴:
fig, ax = plt.subplots(3,1,sharex='all', squeeze=False, figsize=(12,8))
ax[0].plot(df1['date'], df1['value'])
ax[1].plot(df2['date'], df2['value'])
ax[2].plot(df3['date'], df3['value'])
plt.show()
模拟输出:
Seaborn提示数据集中的数据