2017-05-22 9 views
1

太字で書かれた軸のタイトルを作成したいと思います。たとえば、2つのデータセットを比較してR^2を計算していますが、統計的に有意であれば、R^2をタイトルに印刷したいと思います。これまでのところ、タイトル全体を太字にすることしかできません。matplotlib、python:太字のタイトルの部分

import matplotlib.pyplot as plt 
import numpy as np 

fig = plt.figure() 
ax1 = plt.subplot() 
# example R^2 
r1 = np.random.random() 
ax1.set_title('part of title that should not be bold, $R^2$: {0}'.format(np.around(r1, 3)), weight='bold') 

私だけ "R^2" の後に数を太字にしたいです。

ありがとう!

EDIT:R "$の\のBF {0.333} $":以下

答えのような、太字MathTextを使用することを示唆しています。これはラテックススタイルの数字になりますが、まだ太字ではありません。ここで が新しいipythonセッションに貼り付け、その結果下からのコードです:

Here is the code from below pasted into a new ipython session, and the result

+0

[この質問](https://stackoverflow.com/questions/34937048/make-part-of-a-matplotlib-title-bold-and-a-different-color?rq = 1)は、ここのニーズに適しているようです。 – ImportanceOfBeingErnest

答えて

2

次はmatplotlibのバージョン2以上で動作するようです。

タイトルの中に太字のMathTextを使用して、テキストの一部を太字にすることができます。 r"$\bf{0.333}$"。これは生の文字列(r"")です。我々はブラケット付きの文字列をフォーマットしたい場合、彼らは二重のエスケープする必要が、

`r"$\bf{{{x}}}$".format(x=0.333)` 

コンプリート例:

import matplotlib.pyplot as plt 
import numpy as np 

fig = plt.figure() 
ax1 = plt.subplot() 
# example R^2 
r1 = np.random.random() 
ax1.set_title(r'non-bold part of title, $R^2$: $\bf{{{a}}}$'.format(a=np.around(r1, 3))) 

plt.show() 

enter image description here

+0

速い返答をいただきありがとうございます、残念ながら、このコードは私のためには動作しません。私はそれをコピーし、ipythonでチェックしました。私の番号はラテックススタイルで出てきますが、太字ではありません。私はpythonバージョン2.7.6とTex Live 2013/Debian(3.1415926)を使用しています。 (私はそれのサンプルプロットをアップロードする場所と方法はわかりません)。 – Therese

+0

新しいIPythonコンソールを開き、上記のコードを**正確に**入力しましたか?スクリーンショットを投稿できますか? – ImportanceOfBeingErnest

+0

はい、あなたのコードを新しいipythonセッションにコピーしました。投稿編集でスクリーンショットを投稿しました。 – Therese

関連する問題