如何在Matplotlib中编写自己的LaTeX前言? [英] How to write your own LaTeX preamble in Matplotlib?

查看:351
本文介绍了如何在Matplotlib中编写自己的LaTeX前言?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试在matplotlib中创建一个要插入我的LaTeX文档中的图形,并且我需要粗体的'i''j'符号而不是它们的点和帽子.

I'm trying to create a figure in matplotlib to insert in my LaTeX document, and I need the bold 'i' and 'j' symbols without their dots and a hat instead.

我一直在文档中使用代码\mathbf{\hat{\textnormal{\bfseries\i}}},但是由于它使用了amsmath包(或者可能是amssymb包,对不起,我不知道我对这两个LaTeX都是陌生的和matplotlib)我不能在matplotlib标签中使用它.

I've been using the code \mathbf{\hat{\textnormal{\bfseries\i}}} in my document, but as this uses the amsmath package (or possibly the amssymb package, sorry I don't know I am very new to both LaTeX and matplotlib) I cannot use it in the matplotlib label.

因此,我很想知道如何在matplotlib中使用LaTeX,以及如何编写序言来安装使用这些符号所需的软件包.我希望这是有道理的,而且我知道这可能已经存在或很简单,但是我是新手,所以请不要生气!

Hence I would love to know how to use LaTeX in matplotlib and how to write a preamble to install the package needed to use these symbols. I hope this makes sense, and I know this is probably already out there or is simple but I'm new so please dont get angry!

谢谢你们!

修改

所以我已经设法通过编码使这一步走到了尽头,但是无论何时我运行代码,我的python kernel都会崩溃.不幸的是,我不太了解我的代码或它出了什么问题,因此请上载以防万一.抱歉,长时间上传.再次感谢!

So I have somehow managed to get this far with the coding, but when ever I run the code, my python kernel crashes. Unfortunately I don't really understand my code or where it is going wrong, so have uploaded it in case it helps. Sorry for the long upload. Again thanks in advance!

from mpl_toolkits.mplot3d import Axes3D
import numpy, matplotlib, matplotlib.pyplot as pyplot

matplotlib.rcParams['text.usetex'] = True
matplotlib.rcParams['text.latex.preamble'] = [
    r'\usepackage{amsmath}',
    r'\usepackage{amssymb}']
matplotlib.rcParams['font.family'] = 'serif'
matplotlib.rcParams['font.serif'] = 'Computer Modern'
matplotlib.verbose.level = 'debug-annoying'

Module_Colour = '#F0AE1E'

fig = pyplot.figure()
ax = fig.add_subplot(111, projection='3d')

X_arr = numpy.array([1.0,0.0,0.0])
Y_arr = numpy.array([0.0,1.0,0.0])
Z_arr = numpy.array([0.0,0.0,1.0])
O_arr = numpy.array([0.0,0.0,0.0])

pyplot.quiver(O_arr,O_arr,O_arr,X_arr,Y_arr,Z_arr,
              pivot='tail', length=1.0, linewidth=2.5,
              color = Module_Colour)

ax.set_xlabel('x-axis', fontsize=12.5)
ax.set_ylabel('y-axis', fontsize=12.5)
ax.set_zlabel('z-axis', fontsize=12.5)

ax.text(1.03, 0, 0, r'$\mathbf{\hat{\textnormal{\bfseries \i}}}$',
        fontsize=25, color = Module_Colour)
ax.text(0, 1.03, 0, r'$\mathbf{\hat{\textnormal{\bfseries \j}}}$',
        fontsize=25, color = Module_Colour)
ax.text(0, 0, 1.03, r'$\mathbf{\hat{\textnormal{\bfseries k}}}$',
        fontsize=25, color = Module_Colour)

ax.set_xlim3d([0, 1.05])
ax.set_ylim3d([0, 1.05])
ax.set_zlim3d([0, 1.13])
ax.view_init(elev=17.0, azim=44.0)

pyplot.savefig('file/pathway/figure.jpeg',
               bbox_inches='tight')
pyplot.show()

修改

调试错误是:

FigureCanvasAgg.draw
RendererAgg.__init__
RendererAgg.__init__ width=800.0, height=600.0
RendererAgg.__init__ _RendererAgg done
RendererAgg.__init__ done
No LaTeX-compatible font found for the monospace font family in rcParams. Using default.
RendererAgg.points_to_pixels
No LaTeX-compatible font found for the monospace font family in rcParams. Using default.
C: && cd "C:\Users\alexd\.matplotlib\tex.cache" && latex -interaction=nonstopmode 8160df9e5349057f736eef7cf8779b4d.tex > "C:\Users\alexd\.matplotlib\tex.cache\8160df9e5349057f736eef7cf8779b4d.output"
This is pdfTeX, Version 3.14159265-2.6-1.40.17 (MiKTeX 2.9.6100 64-bit)
entering extended mode
(8160df9e5349057f736eef7cf8779b4d.tex
LaTeX2e <2016/03/31> patch level 3
Babel <3.9r> and hyphenation patterns for 75 language(s) loaded.
("C:\Program Files\MiKTeX 2.9\tex\latex\base\article.cls"
Document Class: article 2014/09/29 v1.4h Standard LaTeX document class
("C:\Program Files\MiKTeX 2.9\tex\latex\base\size10.clo"))
("C:\Program Files\MiKTeX 2.9\tex\latex\type1cm\type1cm.sty")
("C:\Program Files\MiKTeX 2.9\tex\latex\psnfss\helvet.sty"
("C:\Program Files\MiKTeX 2.9\tex\latex\graphics\keyval.sty"))
("C:\Program Files\MiKTeX 2.9\tex\latex\psnfss\courier.sty")
("C:\Program Files\MiKTeX 2.9\tex\latex\base\textcomp.sty"
("C:\Program Files\MiKTeX 2.9\tex\latex\base\ts1enc.def"))
("C:\Program Files\MiKTeX 2.9\tex\latex\amsmath\amsmath.sty"
For additional information on amsmath, use the `?' option.
("C:\Program Files\MiKTeX 2.9\tex\latex\amsmath\amstext.sty"
("C:\Program Files\MiKTeX 2.9\tex\latex\amsmath\amsgen.sty"))
("C:\Program Files\MiKTeX 2.9\tex\latex\amsmath\amsbsy.sty")
("C:\Program Files\MiKTeX 2.9\tex\latex\amsmath\amsopn.sty"))
("C:\Program Files\MiKTeX 2.9\tex\latex\amsfonts\amssymb.sty"
("C:\Program Files\MiKTeX 2.9\tex\latex\amsfonts\amsfonts.sty"))
("C:\Program Files\MiKTeX 2.9\tex\latex\geometry\geometry.sty"
("C:\Program Files\MiKTeX 2.9\tex\generic\oberdiek\ifpdf.sty")
("C:\Program Files\MiKTeX 2.9\tex\generic\oberdiek\ifvtex.sty")
("C:\Program Files\MiKTeX 2.9\tex\generic\ifxetex\ifxetex.sty")
("C:\Program Files\MiKTeX 2.9\tex\latex\geometry\geometry.cfg")

Package geometry Warning: Over-specification in `h'-direction.
    `width' (5058.9pt) is ignored.

Package geometry Warning: Over-specification in `v'-direction.
    `height' (5058.9pt) is ignored.

)
No file 8160df9e5349057f736eef7cf8779b4d.aux.
("C:\Program Files\MiKTeX 2.9\tex\latex\base\ts1cmr.fd")
*geometry* driver: auto-detecting
*geometry* detected driver: dvips
[1] (8160df9e5349057f736eef7cf8779b4d.aux) )
Output written on 8160df9e5349057f736eef7cf8779b4d.dvi (1 page, 240 bytes).
Transcript written on 8160df9e5349057f736eef7cf8779b4d.log.

Dvi: C:\Users\alexd\.matplotlib\tex.cache\8160df9e5349057f736eef7cf8779b4d.dvi
Dvi._xxx: encountered special: papersize=5203.43999pt,5203.43999pt
find_tex_file(cmr12.tfm): [u'kpsewhich', u'cmr12.tfm']
find_tex_file result: C:/Program Files/MiKTeX 2.9/fonts/tfm/public/cm/cmr12.tfm
opening tfm file C:/Program Files/MiKTeX 2.9/fonts/tfm/public/cm/cmr12.tfm
lh=18, bc=0, ec=127, nw=34, nh=16, nd=10
find_tex_file(cmr12.vf): [u'kpsewhich', u'cmr12.vf']
find_tex_file result:
RendererAgg.points_to_pixels
C: && cd "C:\Users\alexd\.matplotlib\tex.cache" && latex -interaction=nonstopmode 27047192dde3a3a7381bad7b27d0fcb3.tex > "C:\Users\alexd\.matplotlib\tex.cache\27047192dde3a3a7381bad7b27d0fcb3.output"
This is pdfTeX, Version 3.14159265-2.6-1.40.17 (MiKTeX 2.9.6100 64-bit)
entering extended mode
(27047192dde3a3a7381bad7b27d0fcb3.tex
LaTeX2e <2016/03/31> patch level 3
Babel <3.9r> and hyphenation patterns for 75 language(s) loaded.
("C:\Program Files\MiKTeX 2.9\tex\latex\base\article.cls"
Document Class: article 2014/09/29 v1.4h Standard LaTeX document class
("C:\Program Files\MiKTeX 2.9\tex\latex\base\size10.clo"))
("C:\Program Files\MiKTeX 2.9\tex\latex\type1cm\type1cm.sty")
("C:\Program Files\MiKTeX 2.9\tex\latex\psnfss\helvet.sty"
("C:\Program Files\MiKTeX 2.9\tex\latex\graphics\keyval.sty"))
("C:\Program Files\MiKTeX 2.9\tex\latex\psnfss\courier.sty")
("C:\Program Files\MiKTeX 2.9\tex\latex\base\textcomp.sty"
("C:\Program Files\MiKTeX 2.9\tex\latex\base\ts1enc.def"))
("C:\Program Files\MiKTeX 2.9\tex\latex\amsmath\amsmath.sty"
For additional information on amsmath, use the `?' option.
("C:\Program Files\MiKTeX 2.9\tex\latex\amsmath\amstext.sty"
("C:\Program Files\MiKTeX 2.9\tex\latex\amsmath\amsgen.sty"))
("C:\Program Files\MiKTeX 2.9\tex\latex\amsmath\amsbsy.sty")
("C:\Program Files\MiKTeX 2.9\tex\latex\amsmath\amsopn.sty"))
("C:\Program Files\MiKTeX 2.9\tex\latex\amsfonts\amssymb.sty"
("C:\Program Files\MiKTeX 2.9\tex\latex\amsfonts\amsfonts.sty"))
("C:\Program Files\MiKTeX 2.9\tex\latex\geometry\geometry.sty"
("C:\Program Files\MiKTeX 2.9\tex\generic\oberdiek\ifpdf.sty")
("C:\Program Files\MiKTeX 2.9\tex\generic\oberdiek\ifvtex.sty")
("C:\Program Files\MiKTeX 2.9\tex\generic\ifxetex\ifxetex.sty")
("C:\Program Files\MiKTeX 2.9\tex\latex\geometry\geometry.cfg")

Package geometry Warning: Over-specification in `h'-direction.
    `width' (5058.9pt) is ignored.


Package geometry Warning: Over-specification in `v'-direction.
    `height' (5058.9pt) is ignored.

)
No file 27047192dde3a3a7381bad7b27d0fcb3.aux.
("C:\Program Files\MiKTeX 2.9\tex\latex\base\ts1cmr.fd")
*geometry* driver: auto-detecting
*geometry* detected driver: dvips
[1] (27047192dde3a3a7381bad7b27d0fcb3.aux) )
Output written on 27047192dde3a3a7381bad7b27d0fcb3.dvi (1 page, 288 bytes).
Transcript written on 27047192dde3a3a7381bad7b27d0fcb3.log.

Dvi: C:\Users\alexd\.matplotlib\tex.cache\27047192dde3a3a7381bad7b27d0fcb3.dvi
Dvi._xxx: encountered special: papersize=5203.43999pt,5203.43999pt
find_tex_file(cmmi12.tfm): [u'kpsewhich', u'cmmi12.tfm']
find_tex_file result: C:/Program Files/MiKTeX 2.9/fonts/tfm/public/cm/cmmi12.tfm
opening tfm file C:/Program Files/MiKTeX 2.9/fonts/tfm/public/cm/cmmi12.tfm
lh=18, bc=0, ec=127, nw=97, nh=15, nd=9
find_tex_file(cmmi12.vf): [u'kpsewhich', u'cmmi12.vf']
find_tex_file result:
C: && cd "C:\Users\alexd\.matplotlib\tex.cache" && dvipng -bg Transparent -D 100.0 -T tight -o "da3e0f170d11553ae39831280c346c0f.png" "27047192dde3a3a7381bad7b27d0fcb3.dvi" > "C:\Users\alexd\.matplotlib\tex.cache\da3e0f170d11553ae39831280c346c0f.output"
This is dvipng 1.15 Copyright 2002-2015 Jan-Ake Larsson
[1]

然后python.exe停止响应,很遗憾,我对技术的了解不是很深,所以很难理解为什么会这样.

Then python.exe stops responding, and unfortunately I'm not very tech savvy so struggle to understand why this is happening.

推荐答案

当我需要将LaTeXmatplotlib结合使用时,我将以下内容添加到python脚本中(+其他用于调试信息的命令)

When I need to use LaTeX with matplotlib, I add the following to the python script (+ additional commands for debug info)

 import matplotlib.pyplot as plt

 plt.rc('text', usetex=True)
 plt.rc('text.latex', preamble=r'\usepackage{amsmath}
          \usepackage{foo-name} `...')
 matplotlib.verbose.level = 'debug-annoying'

在此处进行绘制的命令

这篇关于如何在Matplotlib中编写自己的LaTeX前言?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆