使用matplotlib,可以使用乳胶标记轴和图。即。
import matplotlib.pyplot as plt
data = pandas.DataFrame({'A': [1, 2, 3, 4, 5],
'B': [6, 7, 8, 9, 10],
'C': [11, 12, 13, 14,15]})
data['A/B'] = data['A']/data['B']
plt.plot(data['C'], data['A/B'])
new_name1 = 'new_name'
new_name2 = 'new_name'
plt.title(r'$\frac{A}{B}$')
plt.show()
我想将latex与python的字符串.format
方法结合起来。 (虽然在这个抽象的例子中没有必要,但这是我自己的工作)。
import matplotlib.pyplot as plt
data = pandas.DataFrame({'A': [1, 2, 3, 4, 5],
'B': [6, 7, 8, 9, 10],
'C': [11, 12, 13, 14,15]})
data['A/B'] = data['A']/data['B']
plt.plot(data['C'], data['A/B'])
new_name1 = 'new_name1'
new_name2 = 'new_name2'
plt.title(r'$\frac{\{\}}{\{\}}$'.format(new_name1, new_name2))
plt.show()
给了我:
Traceback (most recent call last):
File "/home/b3053674/Documents/LargeStudy/large_study/plot_locally.py", line 912, in <module>
plt.title(r'$\frac{\{\}}{\{\}}$'.format(new_name1, new_name2))
KeyError: '\\{\\}'
和
import matplotlib.pyplot as plt
data = pandas.DataFrame({'A': [1, 2, 3, 4, 5],
'B': [6, 7, 8, 9, 10],
'C': [11, 12, 13, 14,15]})
data['A/B'] = data['A']/data['B']
plt.plot(data['C'], data['A/B'])
new_name1 = 'new_name'
new_name2 = 'new_name'
plt.title(r'$\frac{{}}{{}}$'.format(new_name1, new_name2))
plt.show()
给了我:
ValueError:
\frac{}{}
^
Expected \frac{num}{den} (at char 5), (line:1, col:6)
是否可以以这种方式使用乳胶字符串格式?如果是这样,我该怎么办?
答案 0 :(得分:2)
你需要三个大括号:
plt.title(r'$\\frac{{{}}}{{{}}}$'.format(new_name1, new_name2))
内部对{}
将使用给定变量进行格式化,外部{{
和}}
为{
}
和{{1} }}
答案 1 :(得分:1)
一种简单的方法是使用printf
- 就像格式化:
data = "\frac{%s}{%s}" % ("A", "B")