如何在python子绘图matplotlib中设置x和y轴列

7kqas0il  于 2022-11-24  发布在  Python
关注(0)|答案(2)|浏览(145)
def plot(self):
    plt.figure(figsize=(20, 5))

    ax1 = plt.subplot(211)
    ax1.plot(self.signals['CLOSE'])
    ax1.set_title('Price')

    ax2 = plt.subplot(212, sharex=ax1)
    ax2.set_title('RSI')
    ax2.plot(self.signals[['RSI']])
    ax2.axhline(30, linestyle='--', alpha=0.5, color='#ff0000')
    ax2.axhline(70, linestyle='--', alpha=0.5, color='#ff0000')
    
    plt.show()

我在python应用程序中绘制两个图表。但是x轴的值是像1,2,3,...这样的索引。
但是我的 Dataframe 有一列self.signals['DATA'],那么我如何将其用作x轴值呢?

unftdfkk

unftdfkk1#

使用set_xticks设置,其中位置为,例如:

ax1.set_xticks([1, 2, 3])

使用set_xticklabels,您可以定义其中的内容:

ax1.set_xticklabels(['one', 'two', 'three'])

有关更多选项,请参阅https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.set_xticklabels.html

7tofc5zh

7tofc5zh2#

但X轴的值是1、2、3 ......
但是我的 Dataframe 有一个self.signals['DATA']列,那么我如何将它用作x轴值呢?
我假设您正在使用panda和matplotlib。
根据matplotlib documentation,您可以简单地将X和Y值传递给plot函数。
所以我没有打电话

ax1.plot(self.signals['CLOSE'])

例如,您可以执行以下操作:

ax1.plot(self.signals['DATA'], self.signals['CLOSE'])

根据其他参数的不同,这将生成散点图或折线图。有关图表的更多微调信息,请参阅matplotlib文档。
或者您甚至可以尝试:

plot('DATA', 'CLOSE', data=self.signals)

报价文档:
调用签名:
plot([x], y, [fmt], *, data=None, **kwargs)
plot([x], y, [fmt], [x2], y2, [fmt2], ..., **kwargs)

相关问题