0

我正在创建一个带有循环功能的轴图。绘图按预期工作,但是它在辅助 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 的指导都将非常有帮助。

4

0 回答 0