2011-08-31 9 views
5

matplotlibで目盛りのフォントを標準フォントからTimes New Romanに変更しようとしています。これは、タイトルと軸のラベルのフォントを変更するのと同じくらい簡単に行うべきだと思いますが、ちょっと難しいことが分かります。現在のところ、自動フォーマットされた日付であるx-tickラベルのフォントを設定しようとしています(これは私の問題の1つかもしれませんが、わかりません)。Matplot LibでフォントのプロパティをTickラベルに設定

以下のコードの関連するスニペットを実行すると、「Axessubplotの属性がありません」というエラーが表示されます。

ticks_font = matplotlib.font_manager.FontProperties(family='times new roman', style='normal', size=12, weight='normal', stretch='normal') 

fig.autofmt_xdate() 
ax.fmt_xdata = mdates.DateFormatter('%Y-%m-%d') 
for label in ax.get_xticklabels(): 
    ax.set_fontproperties(ticks_font) 

ご協力いただきまして誠にありがとうございます。

ありがとうございました。

更新/編集:ああ、私はうんざりしています。ちょうど私がそれを実現したらそれは分かりました。上記のスニペットのコンテキストでは、答えは次のとおりです。

label.set_fontproperties(ticks_font) 
+4

あなたの質問にお答えしましたか?その場合は、ソリューションで回答を追加し、質問を閉じます。 –

答えて

4

あなたはまた、あなたがスクリプトを実行している場合は、パラメータ・リストを使用してコマンドを実行する前にそれを設定することができます。それは、そのすべてのテキストプロパティを持つ各ラベルを取得している

for label in ax.get_xticklabels() : 
    label.set_fontproperties(ticks_font) 

fig_size = [fig_width, fig_height] 
tick_size = 9 
fontlabel_size = 10.5 
params = { 
    'backend': 'wxAgg', 
    'lines.markersize' : 2, 
    'axes.labelsize': fontlabel_size, 
    'text.fontsize': fontlabel_size, 
    'legend.fontsize': fontlabel_size, 
    'xtick.labelsize': tick_size, 
    'ytick.labelsize': tick_size, 
    'text.usetex': True, 
    'figure.figsize': fig_size 
} 
plt.rcParams.update(params) 

それとも、あなたはそれがその後、実行していたようにそれをしたい場合:このような私のスクリプトから取られた以下のようにあなたはそれを設定することができます。

1

http://matplotlib.sourceforge.net/users/customizing.html

カスタマイズmatplotlibの: matplotlibのは、我々は、RCの設定やRCパラメータを呼び出しプロパティ、すべての種類をカスタマイズするmatplotlibrcコンフィギュレーションファイルを使用していますあなたはmatplotlibの中で、ほぼすべてのプロパティのデフォルト値を制御することができます。:図形サイズとdpi、線幅、色とスタイル、軸、軸とグリッドのプロパティ、テキストとフォントのプロパティなどが含まれます。 ...

関連する問題