我試圖製作一些出版質量的圖,但遇到了一個小問題。默認情況下,matplotlib軸標籤和圖例條目的權重比軸刻度標記更重。無論如何強制軸標籤/圖例條目與刻度標記的權重相同嗎?python matplotlib:將軸標籤/圖例從粗體更改爲常規重量
import matplotlib.pyplot as plt
import numpy as np
plt.rc('text',usetex=True)
font = {'family':'serif','size':16}
plt.rc('font',**font)
plt.rc('legend',**{'fontsize':14})
x = np.linspace(0,2*np.pi,100)
y = np.sin(x)
fig = plt.figure(figsize=(5,5))
p1, = plt.plot(x,y)
p2, = plt.plot(x,x**2)
plt.xlabel('x-Axis')
plt.ylabel('y-Axis')
plt.legend([p1,p2],['Sin(x)','x$^2$'])
plt.gcf().subplots_adjust(left=0.2)
plt.gcf().subplots_adjust(bottom=0.15)
plt.savefig('Test.eps',bbox_inches='tight',format='eps')
plt.show()
我可以用數學模式,但問題(煩惱)是當我有一個句子的標籤,即
plt.xlabel('$\mathrm{This is the x-axis}$')
這squishes它一起。我可以通過使用
plt.xlabel('$\mathrm{This\: is\: the\: x-axis}$')
但這需要大量的標點符號。我希望有一些我可以改變的東西,這將允許我繞過\mathrm{}
格式,並使用標準的TeX格式。
我試過的另一個選項是使用\text
而不是\mathrm
,但似乎Python的解釋程序在不加載程序包amsmath的情況下無法識別此問題。我也嘗試過:
import matplotlib
import matplotlib.pyplot as plt
import numpy as np
plt.rc('text',usetex=True)
font = {'family':'serif','size':16}
plt.rc('font',**font)
plt.rc('legend',**{'fontsize':14})
matplotlib.rcParams['text.latex.preamble']=[r'\usepackage{amsmath}']
x = np.linspace(0,2*np.pi,100)
y = np.sin(x)
fig = plt.figure(figsize=(5,5))
p1, = plt.plot(x,y)
p2, = plt.plot(x,x**2)
plt.xlabel(r'$\text{this is the x-Axis}$')
plt.ylabel('$y-Axis$')
plt.legend([p1,p2],['Sin(x)','x$^2$'])
plt.gcf().subplots_adjust(left=0.2)
plt.gcf().subplots_adjust(bottom=0.15)
plt.savefig('Test.eps',bbox_inches='tight',format='eps')
plt.show()
這也不會返回所需的結果。
您可以發佈您用於劇情的代碼嗎?如果我理解正確,所有標籤(軸和圖例)的輸入與'('label entry')'類似,唯一的數學模式輸入是y標籤'('$ y-axis $')'。如果是這樣的話,那麼這是一個很好的解決方案! – Blink 2015-06-09 12:04:55
該圖是從您的代碼中精確生成的,只有突出顯示的行已更改! – 2015-06-09 12:32:40
@Blink添加代碼... – 2015-06-09 12:34:26