Python Matplotlib输出图例框在PGF输出中的大小错误

Python Matplotlib输出图例框在PGF输出中的大小错误,python,matplotlib,latex,legend,pgf,Python,Matplotlib,Latex,Legend,Pgf,目前,我正在努力解决一个奇怪的问题,将matplotlib图形导出到PGF时会出现这个问题。如屏幕截图(来自我的LaTeX文档)所示,输出有一个损坏的图例框,见图1,它太小了。但是,当我查看PDF输出(未显示)时,图例框具有正确的大宽度,因此图例文本非常适合 下面是我的LaTeX python文档中的代码片段。(#…代表对问题不重要的行。) 您知道为什么PGF输出以如此错误的方式重新调整图例的大小吗?期待着您的建议和亲切问候 Pascal B.注意:解决方法是将label=“pressure

目前,我正在努力解决一个奇怪的问题,将matplotlib图形导出到PGF时会出现这个问题。如屏幕截图(来自我的LaTeX文档)所示,输出有一个损坏的图例框,见图1,它太小了。但是,当我查看PDF输出(未显示)时,图例框具有正确的大宽度,因此图例文本非常适合

下面是我的LaTeX python文档中的代码片段。(
#…
代表对问题不重要的行。)

您知道为什么PGF输出以如此错误的方式重新调整图例的大小吗?期待着您的建议和亲切问候


Pascal B.

注意:解决方法是将
label=“pressure stamp”
更改为
label=“pressure stamp~~”
。然而,这并不能解释潜在的问题或bug。

    import matplotlib.pyplot as plt
    import numpy as np
    import seaborn as podo
    from matplotlib import rc
    import csv, sys, glob, re
    rc('text', usetex=True)
    
    # ...
    
    plt.rc('font', family='serif')
    box_linewidth = 0.416667
    plt_linewidth = 0.625
    plt.rcParams['axes.linewidth'] = box_linewidth
    plt.rcParams['axes.labelcolor'] = "k"
    plt.rcParams['axes.edgecolor'] = "k"
    plt.rcParams['lines.linewidth'] = plt_linewidth
    plt.rcParams['patch.linewidth'] = box_linewidth
    plt.rcParams['xtick.minor.width'] = box_linewidth
    plt.rcParams['xtick.major.width'] = box_linewidth
    plt.rcParams['ytick.minor.width'] = box_linewidth
    plt.rcParams['ytick.major.width'] = box_linewidth
    plt.rcParams['hatch.linewidth'] = 0.1
    plt.rcParams['lines.markersize'] = 4
    plt.rcParams['lines.markeredgewidth'] = plt_linewidth
    plt.rcParams['font.size'] = 10
    plt.rcParams['errorbar.capsize'] = 10
    plt.rcParams['grid.color'] = "k"
    plt.rcParams['grid.linewidth'] = box_linewidth
    plt.rcParams['legend.edgecolor'] = "k"
    plt.rcParams['legend.framealpha'] = 1.0
    plt.rcParams['legend.columnspacing'] = 1.5
    plt.rcParams['legend.labelspacing'] = 0.5
    plt.rcParams['legend.handletextpad'] = 0.6
    plt.rcParams['errorbar.capsize'] = 2
    plt.rcParams['axes.xmargin'] = 0.05
    
    # ...
    
    fig = plt.figure(num=i, figsize=(plot_width, plot_height), tight_layout=False, constrained_layout=True, facecolor='w', edgecolor='k')
    
    # ...
    
    plt.subplot(4, 1, 1)
    ax4 = plt.gca()
    ax4.set_xlim(0,60)
    ax4.set_ylim(-10,0)
    ax4.yaxis.label.set_color('white')
    ax4.set_ylabel("z")
    ax4.set_xlabel("$x$ / mm")
    ax4.tick_params(axis='x', colors='white')
    ax4.set_aspect(1)
    p1 = plt.plot(mean_step_intpl(cant_p_x_1000_sim,cant_p_z_1000_sim,cant_m_x_1000_sim,cant_m_z_1000_sim)[0],mean_step_intpl(cant_p_x_1000_sim,cant_p_z_1000_sim,cant_m_x_1000_sim,cant_m_z_1000_sim)[1], linestyle="solid", color="gray", label="simulation",zorder=2)
    p2 = plt.plot(circ_x_1000_sim, circ_z_1000_sim, "-k", label="pressure stamp",zorder=1)
    p3 = plt.scatter(cant_x_1000_meas, cant_z_1000_meas, label="measurement", s=18.8, facecolors='none', edgecolors='k',zorder=3)
    
    plt.legend(loc="lower left")
    
    # ...
    
    plt.savefig(path + "/" +  filename + ".pdf")
    plt.savefig(path + "/" +  filename + ".pgf")