在python线图中添加secondry y轴

时间:2019-02-03 22:50:45

标签: python matplotlib

我想添加辅助y轴。我的数据以CSV格式包含三列日期,即lscc和cc。我想将LSCC添加为第一个y轴,将CC添加为第二个。到目前为止,我已经做到了

df=pd.read_csv("E29Lsccvalue.csv", index_col='Date' )
plt.ylabel("")
plt.xlabel("Low level Similarity Class Cohesion (LSCC) Evolution")
df.plot(kind="line", marker='o',legend=None)
plt.xticks(rotation=90)
plt.show()

谢谢

2 个答案:

答案 0 :(得分:1)

尽管没有提供可重复的日期,但我想您可以通过执行以下操作获得所需的结果:

ax = df.plot(secondary_y='CC')

最终需要添加您所有的ax自定义

修改:虚线自定义

假设您需要在x轴上的某个位置(在此示例中,是熊猫索引的第2个位置)处垂直虚线,请使用axvline':'作为线型(点)

ax = a.plot(secondary_y='Price')
ax.axvline(a.index.values[2], linestyle=':')

答案 1 :(得分:1)

在matplotlib内,我想使用twinx()来利用已创建的现有X轴,但在其他Y轴的顶部绘制更多数据。对于您将df作为第一个绘图对象的情况:

axCC = df.twinx() # second axis sharing the same X axis of the original

然后,您可以通过调用包括该轴引用的图形,标签和其他参数,例如:

axCC.set_ylabel("ExampleLabel",color="tab:red")
axCC.plot(xData,yData,color="blue")

等等,

显示了一个具有更多功能的功能更完整的示例here