如何在 pyqtgraph 中写 \latex 字符?
Posted
技术标签:
【中文标题】如何在 pyqtgraph 中写 \\latex 字符?【英文标题】:How write \latex character in pyqtgraph?如何在 pyqtgraph 中写 \latex 字符? 【发布时间】:2015-08-08 05:15:28 【问题描述】:我正在使用 pyqtgraph,我想在图表上写一些公式。如何用乳胶合成器编写? matplolib 有自己的 TeX 表达式解析器,但是我找不到 pyqtgraph 的解决方案。
【问题讨论】:
我不知道为什么这被否决了,但我为你加了一个赞成票。对我来说似乎是一个完全有效的问题(尽管我不知道如何做你想做的事) 【参考方案1】:pyqtgraph 中的标签和文本项,html 格式除外。这是一个例子:
#!/usr/bin/python
# -*- coding: utf-8 -*-
from pyqtgraph.Qt import QtGui, QtCore
import numpy as np
import pyqtgraph as pg
pg.setConfigOptions(antialias=True)
pg.setConfigOption('background', '#c7c7c7')
pg.setConfigOption('foreground', '#000000')
from pyqtgraph.ptime import time
app = QtGui.QApplication([])
p = pg.plot()
p.setLabel('bottom', '<font>The Χ AxiΣ</font>',
units='<font>Β-Juice</font>', **'font-size':'20pt')
p.getAxis('bottom').setPen(pg.mkPen(color='#000000', width=3))
p.setLabel('left', '<font>μ-cells</font>', units='<font>μ-meter</font>',
color='#c4380d', **'font-size':'20pt')
p.getAxis('left').setPen(pg.mkPen(color='#c4380d', width=3))
p.showAxis('top')
p.getAxis('top').setPen(pg.mkPen(color='#77ab43', width=3))
p.setLabel('top', '<math>H(s) = ∫<sub>0</sub><sup>∞</sup> e<sup>-st</sup> h(t) dt</math>', color='#77ab43', **'font-size':'30pt')
p.showAxis('right')
p.setLabel('right', '<font>Δ</font> House', units="<font>Ω</font>",
color='#025b94', **'font-size':'20pt')
p.getAxis('right').setPen(pg.mkPen(color='#025b94', width=3))
np.random.seed(1234)
data = 30*np.random.randn(10000)
mu = data.mean()
median = np.median(data)
sigma = data.std()
y,x = np.histogram(data, bins=50)
curve = p.plot(x=x,y=y, stepMode=True, pen=pg.mkPen(color="#636", width=2))
textstr = '<math><p>μ=%.2f</p><p>median=%.2f</p><p>σ=%.2f</p></math>'%(mu, median, sigma)
text = pg.TextItem(html=textstr, border='#FFFFFF', fill="#ffffcc")
text.setParentItem(curve)
text.setPos(x.min(),y.max())
equation_string = '<math>H(s) = ∫<sub>0</sub><sup>∞</sup> e<sup>-st</sup> h(t) dt</math>'
eq_text = pg.TextItem(html=equation_string, border='#000000', fill='#ccffff')
eq_text.setParentItem(curve)
eq_text.setPos(-20, y.max()*0.5)
if __name__ == '__main__':
import sys
if (sys.flags.interactive != 1) or not hasattr(QtCore, 'PYQT_VERSION'):
QtGui.QApplication.instance().exec_()
这是输出的图像。
【讨论】:
确实可以使用 HTML 编写公式,但与乳胶输出相比,输出非常难看。 您可以创建自定义样式表以使文本看起来更好吗?向 pyqtgraph 开发人员提出功能请求以允许 MathJax 或 Latex 渲染怎么样?以上是关于如何在 pyqtgraph 中写 \latex 字符?的主要内容,如果未能解决你的问题,请参考以下文章
请问大家在Latex中如何实现局部字体属性的更改,比如这面的这行文字:aaaaaaaaa bbbbbbb ccccccc,
Latex软件教程之落格式设置(2)字, 行, 段间距的窍门