- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我打算写一篇论文,并开始设置一个标准的 Matplotlib 文件来控制绘图格式。但是,我在使用 text.usetex : True
选项时遇到了问题。尤其令人恼火的是,当我所有的数字都应该是无衬线字体时,刻度标签默认为衬线字体。确实 - 我在 rcParams 文件中将 font.family 设置为 sans-serif 但仍然看到问题,如 github here 中所标识.
此外,当我打开或关闭 usetex
时,其他文本看起来会有所不同 - 这似乎令人惊讶,因为我告诉 matplotlib 每次都使用相同的字体。
因此,我想知道使用 LaTeX 渲染的实际好处是什么?由于 Matplotlib 已经可以处理标签中的 LaTeX 命令,例如 xlabel('\alpha')
并且可以接受用户输入到 rcparams 文件中使用的字体,那么在文本上使用 LaTeX 有什么不同?
为了实现一致的 sans-serif 字体的目标,我可以不将 matplotlib rcparams 文件中的 font.sans-serif 设置为我在 LaTeX 中设置为 sans-serif 字体的字体吗?
感谢任何建议或提示!
最佳答案
当您需要 matplotlib 的内置数学文本中不存在的 LaTeX 功能时,usetex
设置特别有用。但它也提供了更好的排版,您不必担心数学文本的非标准部分。
如果比较下面的两个示例(基于 this page 末尾的示例),您会发现 LaTeX 版本在数学方面做得更好,尤其是求和。此外,mathtext 不知道 \displaystyle
但会自动使用该布局样式,这在某些情况下可能是不可取的。
关于刻度标签字体的问题,我相信 matplotlib 正在使用默认的 LaTeX 数学字体作为标签。如果您按照我在第二个示例中注释掉的代码行进行尝试,您应该能够得到您想要的。
如果你只是制作相对简单的图,你应该看看tikzplotlib .它允许您以 tikz
格式保存图形,以便轻松调整大小。请参阅我对 this 的回答有关详细信息的问题。
数学文本版本
import numpy as np
import matplotlib.pyplot as plt
t = np.arange(0.0, 2.0, 0.01)
s = np.sin(2*np.pi*t)
plt.plot(t,s)
plt.title(r'$\alpha_i > \beta_i$', fontsize=20)
plt.text(1, -0.6, r'$\sum_{i=0}^\infty x_i$', fontsize=20)
plt.text(0.6, 0.6, r'$\mathcal{A}\mathrm{sin}(2 \omega t)$',
fontsize=20)
plt.xlabel('time (s)')
plt.ylabel('volts (mV)')
plt.savefig('fig_mathtext.pdf')
LaTeX 版本
import numpy as np
import matplotlib.pyplot as plt
from matplotlib import rc
rc('font',**{'family':'sans-serif','sans-serif':['Helvetica']})
rc('text', usetex=True)
#rc('text.latex', preamble=r'\usepackage[eulergreek]{sansmath}\sansmath')
t = np.arange(0.0, 2.0, 0.01)
s = np.sin(2*np.pi*t)
figure()
plt.plot(t,s)
plt.title(r'$\alpha_i > \beta_i$', fontsize=20)
plt.text(1, -0.6, r'$\displaystyle\sum_{i=0}^\infty x_i$', fontsize=20)
plt.text(0.6, 0.6, r'$\mathcal{A}\mathrm{sin}(2 \omega t)$',
fontsize=20)
plt.xlabel('time (s)')
plt.ylabel('volts (mV)')
plt.savefig('fig_latex.pdf')
关于python - text.usetex : True in matplotlib 有什么好处,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21345922/
我目前正在创建一个正则表达式来拆分所有匹配以下格式的字符串:&[text(text - text text) !text]。这里的文本实际上可以是任何字符。并且间距很重要。文本将如图所示列出。 我已经
这个问题在这里已经有了答案: Remove duplicate commas and extra commas at start/end with RegExp in Javascript, and
我有以下代码。 from xml.dom.minidom import Document doc = Document() root = doc.createElement('root') doc.a
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: Find text string in jQuery and make it bold 如何使用 jQuer
我使用 libmagic 在我的元素的 Web 界面中获取文件的 MIME 类型。我在 css 和 js 文件上得到文本/纯 mime 类型。 例如 chromium 显示以下警告: Resource
起初我必须阅读很多教程,但我仍然不知道我做错了什么...... 我想内联使用 4 个 div。在我想放置的那些 div 中:文本、图像、文本、文本。我希望中间文本自动设置为最大宽度。 我写了一个简单的
我想替换所有出现的 [b: "text"]至text使用 JavaScript 和 RegEx。目前我知道如何替换 [b: ""]至使用'/\[b: ""\]/g'但我不知道如果 " 之间有文本该怎么
这可能是一个幼稚的问题,但我想知道是否有比使用 text() 更好的方法将文本添加到绘图中。注意,我也在使用 layout()以及。具体来说,我有一个情节的一部分,我想在其中添加一些带有标题的文本,然
我必须反复从 latex 源粘贴代码,因此每次都必须做很多查找和替换操作('“a'=>'ä','” o'=>'ö',...) 。 有没有一种方法可以存储这些搜索和替换规则,例如,我可以通过一次按键执行
当我在Sublime Text 3代码屏幕中编写代码时,它连续地向右滑动,如图所示。我该怎么办? 请注意第10行。 最佳答案 如果您只想为当前 View (正在编辑的当前文件)激活自动换行,只需vie
是否有可能更改 sublime text 中的默认字体目录?我只想使用可移植 sublime 文本存储在我的 pendrive 上的字体,这样我就不必在我使用可移植 sublime 文本的每台机器上安
我是 Android 开发的新手,我有一个愚蠢的问题。如何将“文本字段”框放在一行中的文本旁边。 例子: Please Enter the number: [ ] 关于 "t
我想自动将“我的文本”更改为“我的文本”,因为这是用德语写的正确方式。引号可以在文本中的任何位置。 有没有一种简单的方法可以实现这一点? 解决方案应该检查第一个字符,最后一个字符,比如“this”,或
我想知道是否有特殊的语法来绑定(bind)与现有文本连接的文本。 像这样。 显然,这行不通。 什么是最佳实践? 使用 SL4。 最佳答案 使用StringFormat在 Binding 上。 WPF
我认为它应该打印“真实文本”,因为它相当于 true console.log('true text' || true ? 'text' : 'text1'); 但是,输出是“文本”;抱歉,如果是愚蠢的
有没有办法通过 css 打破文本,以便中间有一个“空白”?目前我正在通过手工打破文本来解决这个问题 -但这是愚蠢的。我知道有一个函数可以让文本在另一个 div 中结束和开始,但 IE 不支持它。 文本
我想为我的Tcl/Tk工具实现一个效果:在text控件中,根据具体情况,希望高亮一些线条的背景色,其他线条正常透明.有可能吗? 我尝试了一些选项,例如:-highlightbackground 、-i
我正在尝试解析原始维基百科文章内容,例如the article on Sweden ,使用re.sub()。但是,我在尝试替换 {{some text}} block 时遇到了问题,因为它们可以包含更
我试图先删除 ComboBox 中的所有内容。然后在其前面添加文本,但保留了一些旧文本。有没有办法重置或清除 ComboBox?或者我怎样才能最好地实现这一目标? public void GetBad
我知道我们应该创建 Example对象并将其传递给 nlp.update() 方法。根据 docs 中的示例, 我们有 for raw_text, entity_offsets in train_da
我是一名优秀的程序员,十分优秀!