2016-07-12 2 views
1

jupyterノートでmatplotlib.pyplot.scatter()を使っていくつかの散布図を生成しようとしていますが、seabornパッケージをインポートすると散布図の色が失われることがわかりました。誰かが似たような問題を抱えているのだろうか?ここ seabornパッケージをインポートするときにmatplotlib.pyplot.scatter()の色が失われますか?

は、例えば、コードされ

import matplotlib.pyplot as plt 
import seaborn as sb 

plt.scatter(range(4),range(4), c=range(4)) 

出力される

enter image description here

seabornことなく散布図は、次のとおりであると思わ

enter image description here

+0

これは、seabornに関連しており、デフォルトのカラーマップがグレースケールであると思われる場所にカラーパレットを設定します。 – tacaswell

答えて

1

この問題を解決する別の方法は、それがseabornの影響を受けることがないようにplt.scatter()ためcmapオプションを指定することです:

ax = plt.scatter(range(4),range(4), c=range(4), cmap='gist_rainbow') 
plt.colorbar(ax) 

結果は次のとおりです。 enter image description here

cmapための多くのオプションがここにあります。 :

http://matplotlib.org/examples/color/colormaps_reference.html

1

それは振る舞います。 seaborn 0.3では、デフォルトのカラースケールがグレースケールに変更されました。あなたがあなたのコードを変更した場合:

plt.scatter(range(4),range(4), c=sb.color_palette())

あなたはあなたの元に似た色で画像を取得します。 詳細については、Seabornのドキュメントchoosing color palettesをご覧ください。

+0

ありがとう!リストを海底色に変換するにはどうすればよいですか?例えば、[0,1,2,3]の代わりにリスト[1,4,2,0]でこれらのデータ点を色付けしたい場合、どのように色を設定すればよいですか? – username123

+0

@ username123使用したい順番で色のリストを作成し、そのリストを 'c ='キーワードに渡すことができます。あなたが尋ねているようにそれをする方法があるかもしれませんが、私はそれを行う方法がわかりません。 – Grr

関連する問題