Python 使用matplotlib以斜体书写标签时,如何避免字体更改?
字体更改为:Python 使用matplotlib以斜体书写标签时,如何避免字体更改?,python,string,matplotlib,fonts,Python,String,Matplotlib,Fonts,字体更改为: import os from matplotlib import font_manager as fm, rcParams fpath = os.path.join(rcParams["datapath"], '/gdrive/My Drive/animal/data/times-new-roman.ttf') prop = fm.FontProperties(fname=fpath,size=17) 我将按如下方式连接文本标签: label=$\it{'+t
import os
from matplotlib import font_manager as fm, rcParams
fpath = os.path.join(rcParams["datapath"], '/gdrive/My Drive/animal/data/times-new-roman.ttf')
prop = fm.FontProperties(fname=fpath,size=17)
我将按如下方式连接文本标签:
label=$\it{'+text+}$
from
然而,新罗马时代在斜体字出现的地方消失了。它发生在以下带有xtick_标签的绘图中,但发生在ax.annotate()
和ax.legend()
我相信像您这样使用latex会导致字体退回到mathfont
您可以直接使用latex设置字体和其他字体属性:
##------图形设置
从matplotlib导入pyplot
从matplotlib导入代码
x_vals={0:'这个',1:'那个',2:'另一个'}
y_vals={0:'他们',1:'他们',2:'其他人'}
图,ax=pyplot.subplot()
ax.set_xlim(-0.5,2.5)
ax.set_ylim(-0.5,2.5)
ax.xaxis.set\u major\u定位器(股票代码多路传输器(1))
ax.yaxis.set\u major\u定位器(股票代码多路传输器(1))
ax.xaxis.set\u major\u格式化程序(ticker.FuncFormatter(lambda x,pos:x\u vals.get(x,,))
ax.yaxis.set\u major\u格式化程序(ticker.FuncFormatter(lambda x,pos:y\u vals.get(x,,))
最大刻度参数('x',标签旋转=45)
##----在何处设置属性
对于t in ax.getxticklabels():
t、 设置字体样式(“斜体”)
对于ax.get_yticklabels()中的t:
t、 设置重量(“重”)
我不使用latex,而是直接将fontstyle
设置为“italic”