2017-07-07 10 views
2

pyplot.scatterを使用してアメリカのベースマップに散布図を作成しました。カラーバーのビンは入力データの範囲に均等に配置されています。しかし、カラーバーのビンを明示的に制御して、不均一なビンを作成したいとします。 -2050の間に均等間隔のビンの代わりに[-20, -10, -5,-4,-3,-2,-1,0,1,2,3,4,5,50]を使用してください。これはどうすればできますか?あなたが望むの値のどんなリストにfig.colorbarticksパラメータを変更することができplt.scatterでカラーバーに独自の目盛りを設定するにはplt.scatterでカラーバービンを明示的に設定する

+0

あなたは個別のカラーバーのムラビンを作成する意味ですか?リスト内の値に自分のチックを設定するだけですか? –

+0

自分自身のティックをそのリストの値に設定して、非正規ティックを持つようにします。このプロットのように:https://www.nature.com/article-assets/npg/ngeo/journal/v9/n7/carousel/ngeo2721-f4.jpg – jimutters

答えて

1

import matplotlib.pyplot as plt 
fig, ax = plt.subplots() 
cm = plt.cm.get_cmap('RdYlBu') 
xy = range(20) 
z = xy 
sc = plt.scatter(xy, xy, c=z, vmin=0, vmax=20, s=35, cmap=cm) 

cbar = fig.colorbar(sc, ticks=[0, 1, 15]) 
plt.show() 

+0

これに感謝しますが、私はあなたの質問に私の元の答えを推測する間違っていました。サイズの異なる範囲を表すビンを作成したいのですが、カラーバー上に均等に配置されています。次のようにしてください:https://www.nature.com/article-assets/npg/ngeo/journal/v9/n7/carousel/ngeo2721-f4.jpg – jimutters

+0

@jimuttersああ、わかりましたが、私の解決策はそれを動作させることができると思います、それはできない?つまり、個別のカラーバーに値を設定するか、コロバの「架空の」数値を割り当てて、割り当てられる実際の値を表していないのですか? –

+0

離散カラーマップを取得するには、3行目のコードを 'cm = plt.cm.get_cmap( 'RdYlBu'、10)'に置き換えます。たとえば、ティックの割り当てはまだ動作します。 –

関連する問題