我想将标记的字体更改为罗马字体(理想情况下是gill sans)。文档告诉我这是一个有效的代码语句,但它正在抛出
ValueError:
\mathrmAAPL
^
Unknown symbol: \mathrmAAPL (at char 1), (line:1, col:2)
我不能使用plot.text所以我真的想让它按原样运行。如果您解开有效的线路,您将看到代码的作用。基本上数据点的标记被TEXT替换。这正是我想要的但我需要更改字体。
import matplotlib.pyplot as plt
x = []
y = []
symbol = "AAPL"
x = range(5)
y = [5,10,12,15,11]
# this line plots BUT font is italic so I need to change it
# plt.plot(x,y,lw=2.5,color='r',linestyle='solid',marker=r"$ {} $".format(symbol),markersize=25)
#THIS line throws the error
plt.plot(x,y,lw=2.5,color='r',linestyle='solid',marker=r"$ \mathrm{} $".format(symbol),markersize=25)
plt.show()
ValueError异常: \ mathcalAAPL ^ 未知符号:\ mathcalAAPL(在char 0处),(line:1,col:1)
答案 0 :(得分:1)
好吧,如果我这样做:
plt.plot(x,y,lw=2.5,color='r',linestyle='solid',marker=r"$\mathrm{%s}$" % symbol, markersize=25)
它工作正常。
显然,您的format
工作错误,您可以通过硬编码符号进行检查
正如在评论中提到的那样,marker=r"$ \mathrm {{{}}} $".format(symbol)
本来是正确的。 (在mathrm之后你没有空间,所以这给了一个错误,但它甚至没有空间工作;并且你的符号周围没有括号,所以只有第一个字母才是罗马字母,如果有的话工作)。
感谢您的提示,我不知道这个功能是否以文字为标记!