2011-12-01 13 views
6

6つの異なる記号を使用して点をプロットする散布図があります。たとえば、下のコードは、下向きの三角形の記号で点をプロットします。棒グラフ用のラベルの中でmatplotlib散布マーカーをチャート外に使用する必要があります

my_axis.scatter([x], [y], marker='v') 

各記号は異なるクラスのオブジェクトを表します。私は散布図で使用されている記号を、別のグラフ、散布図の各クラスターの各クラスの割合を説明する棒グラフで参照する必要があります。

棒グラフのラベルに散布図マーカーに使用する記号を使用するにはどうすればよいですか?下の図に示すように、各バーの下のラベルはグラフのマーカーに対応する必要がありますが、散布図のコンテキスト外でマーカーをどのように呼び出すかわからないため表示されません。代わりに、マーカーのコード文字(例:実際の三角形の代わりにv)を表示するだけです。

歪んだパーセンテージのラインがすべて重なっているという事実を無視してください。これは私が修正する別の問題です。

UTF-8の記号があれば、手動でバーグラフの凡例に記号を追加しても問題ありませんが、それぞれのマーカーの文字の正確なスペックを見つけることができませんでした。

また、.scatter()ではなくリテラルのUTF-8文字で.text()を使用していますが、fontpropertiesでUnicodeフォントを選択しても多くのシンボルがレンダリングされず(四角形として表示されません)私はそのアプローチに立ち往生しています。

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

scatter plot and bar graphs

答えて

3

Latexを使用するのはかなり簡単な解決策です。たとえば、次のように

from matplotlib import rc 
rc('text', usetex=True) 
plt.xticks(ind+width/2., ("$\lozenge$", "$\square$", "$\plus$", "o", "$\bigtriangledown$")) 

そして、あなたは、シンボルの名前を考え出す助けが必要な場合は、thisはあなたがしたい記号を描くことができますし、それが出力LaTeXの名前を意志偉大な小さなサイトです。

+0

これは本当に素晴らしいUnicodeツールです。皆さんをチェックしてください!私はマーカのためにUnicodeテキストを使うつもりですが、LaTeXを使用することはなく、文字通りのシンボルだけです。 – mrjf

+0

うれしい私は助けることができます。私はプロモーターである(私はそうでないと約束している)と感じるが、Detexifyは実際にはかなり楽しい電話アプリも持っている。 – cosmosis

関連する問題