58

matplotlib で使用されるデフォルトの色 (ここの例: http://matplotlib.org/examples/pylab_examples/pie_demo.html ) は、単純で醜いものです。また、1 つのプロットで 5 ~ 6 個を超える異なるシリーズをプロットすると、matplotlib が色の繰り返しを開始することにも気付きました。

他の視覚化パッケージ (デフォルトでは他の言語) から、5 ~ 6 個の異なる系列を 1 つの色で異なる色合いでカバーできる豪華なグラフがいくつか見られました。matplotlib で使用するのに適したカラー セットを持っている人はいますか? matplotlib にデフォルトで使用させる方法はありますか?

4

9 に答える 9

66

Matplotlib のスタイル シートを使用できます。これは、 matplotlib rc パラメーターを再定義するスタイルモジュールを含む mpltools ライブラリから移植されています。

例として、ggplot スタイルの使用とMatplotlib のマニュアルを参照してください。

画像

于 2013-04-04T15:04:21.473 に答える
43

この質問は 2 年前に出されたもので、今日ではプロットのスタイルを改善するのがはるかに簡単になりました。そのための外部パッケージも必要ありません。@asmaier がコメントで述べたように、mpltools.style 機能は Matplotlib 1.4 に統合されているため、次の方法でスタイルを切り替えることができます。

plt.style.use(style_name)

例えば:

import matplotlib.pyplot as plt
import numpy as np

plt.style.use('ggplot')

num_lines = 6

ax = plt.subplot(111)

for i in range(num_lines):
    x = np.linspace(0,20,200)
    ax.plot(x,np.sin(x)+i)

plt.show()

ここに画像の説明を入力

使用可能なすべてのスタイルを次のように一覧表示できます。

print plt.style.available

Matplotlib 1.5 では、Seaborn プロジェクトの多くのスタイルを含む、いくつかの新しいスタイルが追加されました。

plt.style.use('seaborn-dark-palette')

ここに画像の説明を入力

于 2016-01-03T13:57:11.733 に答える
15

Seabornパッケージ ( Matplotlibに基づく) には優れたデフォルトのグラフ スタイルがあり、これが魅力的なカラー サイクルを作成する優れた方法であることがわかりました。

彼らはここでカラーパレットについて良い議論をしています: https://stanford.edu/~mwaskom/software/seaborn/tutorial/color_palettes.html

次のコードは、単純な折れ線グラフで新しい color_cycle を自動的に選択する方法を示しています。

import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns   

num_lines = 6

ax = plt.subplot(111)
ax.set_color_cycle(sns.color_palette("coolwarm_r",num_lines))

for i in range(num_lines):
    x = np.linspace(0,20,200)
    ax.plot(x,np.sin(x)+i)

plt.show()

ここに画像の説明を入力

線の色だけを変更し、灰色の背景などの他の seaborn プリセットを使用しない場合は、seaborn をインポートするだけです

import seaborn.apionly as sns
于 2015-10-05T14:03:45.233 に答える
4

ファイルを設定でき.matplotlibrcます。非常に多くのコメントが寄せられた例がここにあります。変更したいオプションは のようですaxes.color_cycle。よりきれいなインターフェースにするために何をすべきかについてのアドバイスはありません-それは少し主観的なスタックオーバーフローです;-)(そしてデフォルトに満足しています)

于 2013-04-04T14:57:08.913 に答える
1

matplotlibのカラーマップ機能を使用できます。

良い例は、この質問にあります。このスクリプトを使用して、カラーマップ オプションを表示できます。

于 2013-04-04T14:57:49.607 に答える