将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的宽度未知,因此我不知道应将其移动多少。

你有什么建议吗?

亨利

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

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

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

来自分类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

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

来自分类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 相关文章

热门标签

归档