代码之家  ›  专栏  ›  技术社区  ›  TobiasDK

如何使用matplotlib对齐绘图右侧顶部旋转的ylabel

  •  1
  • TobiasDK  · 技术社区  · 5 月前

    在matplotlib中,当标签旋转、向右和向上移动时,我如何使y标签与图的顶部对齐?

    import matplotlib.pyplot as plt
    import numpy as np
    
    #create plot
    fig, ax = plt.subplots()
    ax.plot(np.sin(np.linspace(-np.pi, np.pi, 1001)))
    
    ax.tick_params(
                        which="both",
                        direction="out",
                        left=False,
                        right=True,
                        labelleft=False,
                        labelright=True,
                    )
    
    ax.set_ylabel("y-label", loc="top", rotation=-90, labelpad=10)
    ax.yaxis.set_label_position("right")
    

    matplotlib example

    1 回复  |  直到 5 月前
        1
  •  1
  •   mozway    5 月前

    您可以在定义标签后修复水平对齐(不幸的是,您无法在中直接定义它 set_ylabel 如果 loc 使用):

    ax.set_ylabel('y-label', loc='top', rotation=-90, labelpad=10)
    ax.yaxis.set_label_position('right')
    ax.yaxis.label.set_horizontalalignment('left')
    

    输出:

    enter image description here