Python Matplotlib输出图例框在PGF输出中的大小错误
目前,我正在努力解决一个奇怪的问题,将matplotlib图形导出到PGF时会出现这个问题。如屏幕截图(来自我的LaTeX文档)所示,输出有一个损坏的图例框,见图1,它太小了。但是,当我查看PDF输出(未显示)时,图例框具有正确的大宽度,因此图例文本非常适合 下面是我的LaTeX python文档中的代码片段。(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
#…
代表对问题不重要的行。)
您知道为什么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")