私は出版品質のプロットをいくつか作成しようとしていますが、小さな問題が発生しました。デフォルトでは、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()
私は数学モードを使用することができますが、私はラベルのための文を持っているときに問題(迷惑)は、ある、すなわち、それをすべて一緒squishes
plt.xlabel('$\mathrm{This is the x-axis}$')
。
plt.xlabel('$\mathrm{This\: is\: the\: x-axis}$')
を使用して修正することができますが、多くの句読点が必要です。 \mathrm{}
形式をバイパスして標準のTeX形式を使用できるように変更できるものがあることを期待していました。
私が試したもう一つの選択肢は、\mathrm
ではなく\text
でしたが、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()
これは、どちらかの結果を返しません。
プロットに使用したコードを投稿できますか?私があなたを正しく理解していれば、すべてのラベル(軸と凡例)は '( 'ラベルエントリ')'と同様にタイプされ、唯一の数式モードエントリはyラベル '( '$ y軸$')'でした。それが事実なら、これは素晴らしい解決策です! – Blink
プロットはコードから正確に生成され、強調表示された行だけが変更されました! –
@Blinkコードを追加しました... –