我正在创建一个带有循环功能的轴图。绘图按预期工作,但是它在辅助 y 轴上增加了刻度。
axs[i].plot(df0['datetime'], df0['pnl_imb_cum'], color='k', linewidth=1, label ='PnL1')
axs[i].plot(df0['datetime'], df0['pnl_vwap_cum'], color='m', linewidth=1, label ='PnL2')
axs[i].twinx().bar(df0['datetime'], df0['hedge'], width = 1/96, color='g', align = 'edge', alpha = 0.5, label ='Qty')
axs[i].set_ylabel("PnL", fontsize=16, color='black')
axs[i].twinx().set_ylabel("Qty", fontsize=16, color='black')
axs[i].set_xlabel("Datetime", fontsize=16, color='black')
axs[i].set_title('PnL Report', fontsize=16, color='black')
axs[i].grid(True)
axs[i].legend(loc='best',fontsize = 8)
axs[i].tick_params(axis='x', rotation=90)
您可以看到它在辅助 y 轴上弄乱了 yticks。
如果我删除为双轴设置 set_ylabel 的行,绘图轴看起来不错,但是没有轴标签。
axs[i].plot(df0['datetime'], df0['pnl_imb_cum'], color='k', linewidth=1, label ='PnL1')
axs[i].plot(df0['datetime'], df0['pnl_vwap_cum'], color='m', linewidth=1, label ='PnL2')
axs[i].twinx().bar(df0['datetime'], df0['hedge'], width = 1/96, color='g', align = 'edge', alpha = 0.5, label ='Qty')
axs[i].set_ylabel("PnL", fontsize=16, color='black')
**# axs[i].twinx().set_ylabel("Qty", fontsize=16, color='black')**
axs[i].set_xlabel("Datetime", fontsize=16, color='black')
axs[i].set_title('PnL Report', fontsize=16, color='black')
axs[i].grid(True)
axs[i].legend(loc='best',fontsize = 8)
axs[i].tick_params(axis='x', rotation=90)
下面是这个的输出。
任何在 twinx 上添加 y 标签而不弄乱 yticks 的指导都将非常有帮助。