在matplotlib中为y轴添加一个y轴标签

我可以使用plt.ylabel添加ay标签到左侧的y轴,但我怎样才能把它添加到次要的y轴?

 table = sql.read_frame(query,connection) table[0].plot(color=colors[0],ylim=(0,100)) table[1].plot(secondary_y=True,color=colors[1]) plt.ylabel('$') 

最好的方法是直接与axes对象交互

 import numpy as np import matplotlib.pyplot as plt x = np.arange(0, 10, 0.1) y1 = 0.05 * x**2 y2 = -1 *y1 fig, ax1 = plt.subplots() ax2 = ax1.twinx() ax1.plot(x, y1, 'g-') ax2.plot(x, y2, 'b-') ax1.set_xlabel('X data') ax1.set_ylabel('Y1 data', color='g') ax2.set_ylabel('Y2 data', color='b') plt.show() 

示例图

我现在还没有访问Python,但是离开了我的头顶:

 fig = plt.figure() axes1 = fig.add_subplot(111) # set props for left y-axis here axes2 = axes1.twinx() # mirror them axes2.set_ylabel(...) 

有一个简单的解决scheme,而不会搞乱matplotlib:只是pandas。

调整原来的例子:

 table = sql.read_frame(query,connection) ax = table[0].plot(color=colors[0],ylim=(0,100)) ax2 = table[1].plot(secondary_y=True,color=colors[1], ax=ax) ax.set_ylabel('Left axes label') ax2.set_ylabel('Right axes label') 

基本上,当给出secondary_y=True选项时(即使传递ax=ax也是如此), pandas.plot返回我们用来设置标签的不同坐标轴。

我知道这是很久以前的答案,但我认为这种做法是值得的。