27

violinmatplotlib でプロットの色を変更する方法はありますか?

デフォルトの色はこの「茶色がかった」色で、これはそれほど悪くはありませんが、たとえば、最初の 3 つのバイオリンを強調するために別の色にしたいと思います。ドキュメントにパラメータが見つかりません。バイオリンの色を変えるアイデアやハックはありますか?

ここに画像の説明を入力

4

2 に答える 2

41

matplotlib.pyplot.violinplot()それが返すと言います:

作成された対応するコレクション インスタンスのリストに、バイオリン プロットの各コンポーネントをマッピングする辞書。ディクショナリには次のキーがあります。

  • bodiesmatplotlib.collections.PolyCollection:各ヴァイオリンの塗りつぶされた領域を含むインスタンスのリスト。
  • [...とりわけ...]

のメソッドには次PolyCollectionものがあります。

したがって、結果の body リストをループして、それぞれの facecolor を変更できるように見えます。

violin_parts = plt.violinplot(...)

for pc in violin_parts['bodies']:
    pc.set_facecolor('red')
    pc.set_edgecolor('black')

一般的なプロットタイプのように作成するときにこれを設定できないのは少し奇妙ですが. おそらく、操作が非常に多くのビットを作成するためだと思います(前述のPolyCollection5 つの other とともにLineCollections)。追加の引数があいまいになるでしょう。

于 2014-10-10T03:42:19.990 に答える