将matplotlib图形与LaTeX中的文本对齐

Xiphias

我正在尝试在LaTeX中创建与文本完美对齐的matplotlib图。这是我从这里获取的代码

我调整了一些参数,但是概念保持不变。

在Python中:

import pylab
from pylab import arange,pi,sin,cos,sqrt
fig_width_pt = 430.00462 #246.0 # Get this from LaTeX using \showthe\columnwidth
inches_per_pt = 1.0/72.27               # Convert pt to inch
golden_mean = (sqrt(5)-1.0)/2.0         # Aesthetic ratio
fig_width = fig_width_pt*inches_per_pt  # width in inches
fig_height = fig_width*golden_mean      # height in inches
fig_size =  [fig_width,fig_height]
params = {'backend': 'ps',
          'axes.labelsize': 12, # 10
          'text.fontsize': 12, # 10
          'legend.fontsize': 12, # 10
          'xtick.labelsize': 8, # 8
          'ytick.labelsize': 8, # 8
          'text.usetex': True,
          'figure.figsize': fig_size}
pylab.rcParams.update(params)
# Generate data
x = pylab.arange(-2*pi,2*pi,0.01)
y1 = sin(x)
y2 = cos(x)
# Plot data
pylab.figure(1)
pylab.clf()
pylab.axes([0.125,0.2,0.95-0.125,0.95-0.2])
pylab.plot(x,y1,'g:',label='$\sin(x)$')
pylab.plot(x,y2,'-b',label='$\cos(x)$')
pylab.xlabel('$x$ (radians)')
pylab.ylabel('$y$')
pylab.legend()
pylab.savefig('fig1.pdf')

在LaTeX中:

\begin{figure}
\begin{center}
  \includegraphics[width=\columnwidth]{fig1.pdf}
\end{center}
\end{figure}

然后,我的LaTeX文件将呈现以下内容:

我的输出

现在,按照我的理解,实际上是为了使其完美对齐,应该更像这样:必须改变的地方

不幸的是,我没有找到如何

  • 设置绘制grahpic的矩形的宽度

  • 获取ylabel的宽度以从总figsize减去它

如果我进行了调整pylab.axes(),则可以更改pdf内图形的位置,但是将其向左或向右移得太远会剪切图片的一部分,因为调整是在pdf本身内部进行的,而不是在LaTeX中进行。另外,由于ylabel的宽度未知,我不知道应该移动多少。

你有什么建议吗?

Y

这是可以获取位置信息的代码:

fig = pylab.gcf()
ax = pylab.gca()
print fig.bbox.bounds
print ax.bbox.bounds
ylabel = ax.yaxis.label
print ylabel.get_transform().transform(l.get_position())

print ylabel.get_window_extent()

也可以尝试通过以下方式创建轴:

pylab.axes([0.125,0.2,0.75,0.95-0.2])

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将matplotlib文本与颜色栏对齐

来自分类Dev

matplotlib中的图例对齐

来自分类Dev

将facebook图标与按钮中的文本对齐

来自分类Dev

将熊猫中的各个列对齐到_latex

来自分类Dev

将UITableViewCell中的文本向右对齐

来自分类Dev

Math Latex与文本水平对齐

来自分类Dev

在matplotlib文本框中对齐LaTeX数学文本

来自分类Dev

对齐图形中的元素

来自分类Dev

LaTeX无法处理matplotlib文本

来自分类Dev

将matplotlib图形输出到SVG,文本作为文本,而不是曲线

来自分类Dev

将matplotlib图形嵌入到iPython HTML中

来自分类Dev

旋转时的文本在matplotlib中的位置不正确(对齐)

来自分类Dev

如何使用Matplotlib防止图形中的文本重叠

来自分类Dev

将Bootstrap标签与列表中的文本对齐

来自分类Dev

将图形与标题对齐

来自分类Dev

将matplotlib图形与LaTeX中的文本对齐

来自分类Dev

将固定页脚中的文本与容器对齐

来自分类Dev

将熊猫中的各个列对齐到_latex

来自分类Dev

将<img>标签与表格中的文本对齐

来自分类Dev

将UITableViewCell中的文本向右对齐

来自分类Dev

matplotlib:在文本框中使用LaTeX时覆盖字符串中的下划线

来自分类Dev

使用跨度,文本对齐和内联块,CSS,HTML将文本左,中,右对齐

来自分类Dev

matplotlib.pyplot.plotfile()-如何将多个图形绘制到同一图形中?

来自分类Dev

将图形与文本右侧对齐并居中以创建按钮-无法将按钮居中

来自分类Dev

在Matlab中调整图形LaTeX文本大小

来自分类Dev

Latex中的标题未对齐

来自分类Dev

将图像与 flex 容器中的文本对齐

来自分类Dev

使用 matplotlib 图例中的格式进行文本对齐

来自分类Dev

在 LateX 中编译时使用 matplotlib+pgf 后端获取半透明文本

Related 相关文章

热门标签

归档