我需要在图中的文本框中的两个单独的行中绘制 r 平方和幂律方程,但是我不能使用 ,'$a=3$\n$b=2$因为我已经$在我的代码中签名了。所以每当我尝试添加'& \ &'它时它都不起作用。
'y='+str(round(m,3))+'x$^{'+str(round(j,3))+'}$'
r$^{2}$=0.95
Run Code Online (Sandbox Code Playgroud)
如何在图形的框中以两行显示这些?
谢谢
如果 OP 想要这个:
这是代码:
#!/usr/bin/python
import matplotlib
import matplotlib.pyplot
matplotlib.rc('text', usetex=True) #use latex for text
# add amsmath to the preamble
matplotlib.rcParams['text.latex.preamble']=[r"\usepackage{amsmath}"]
# data:
m, j = 5.3421, 2.6432
# insert a multiline latex expression
matplotlib.pyplot.text(0.2,0.2,
r'\[' # every line is a separate raw string...
r'\begin{split}' # ...but they are all concatenated by the interpreter :-)
r' y &= ' + str(round(m,3)) + 'x^{' + str(round(j,3)) + r'}\\'
r' r^2 &= 0.95 '
r'\end{split}'
r'\]',
size=50) # make it big so we can see it
matplotlib.pyplot.savefig("test.png")
Run Code Online (Sandbox Code Playgroud)
我不确定这里出了什么问题。如果你把这两个刺加在一起,\n中间有一个,它对我有用:
import matplotlib.pyplot as plt
m,j=5.3421,2.6432
fig,ax = plt.subplots()
t='y='+str(round(m,3))+'x$^{'+str(round(j,3))+'}$\n r$^{2}$=0.95'
ax.text(0.5,0.5,t)
plt.show()
Run Code Online (Sandbox Code Playgroud)
或者,您可以使用字符串格式来执行此操作:
t='y={:0}x$^{{{:1}}}$ \n r$^{{2}}$=0.95'.format(m,j)
Run Code Online (Sandbox Code Playgroud)
{:0}请注意格式字符串的单大括号和代码{{2}}的双大括号latex(因此,当某些乳胶代码中有格式字符串时,请注意三大括号{{{:1}}}
| 归档时间: |
|
| 查看次数: |
8227 次 |
| 最近记录: |