python matplotlib カスタムカラーバー colorbar - と matplotlib の組み込みカラーバー
追記:ポータル-。 カラーバーのカスタマイズチュートリアル
カスタムカラーバー(マップル/プロットなしでカラーバーを描画する)
参考にしてください。
カスタマイズカラーバーチュートリアル
apiのサンプルコード:colorbar_only.py
カスタムカラーバーは、既存のダイアグラム(plot/mappable)に依存することなく、自由で制約のない、好きなカラーバーを描くことができます。ここでは、ColorbarBase クラスが使用され、colorbar クラスは既存のダイアグラムに依存する必要があります。
クラスのパラメータは以下の通りです(クラスのパラメータの記述が見つかりませんでしたので、その一部をご紹介します)。
カラーバー
をクリックすると、クラス内の説明が表示されます)。
class matplotlib.colorbar.ColorbarBase(ax, cmap=None, norm=None, alpha=None, values=None, boundaries=None, orientation=' vertical', ticklocation='auto', extend='either', spacing=' uniform', ticks=None, format=None, drawedges=False, filled=True, extendfrac=None, extendrect=False, label=' ')[source] を参照してください。
パラメータの簡単な説明ax :カラーバーの位置、長さ、幅を設定できます。
norm :カラーバーの最大値と最小値を設定し、正規化するために使用します。
cmap : 色 (このブログ記事の最後の部分 - 推奨カラーバンドとカスタムカラーバンドを参照)
boundaries: extendを使用するには、normの外側にさらに2つの境界が必要です。
orientation: カラーバーの向き、平らか垂直か
extend: 伸びる方向(ノーマル以外のカラーバーは伸びることができる)
ticks: セグメントごとのカスタムティック(表記法)。
以下は、自分でパラメータを調整してみる例です。
import numpy as np
import pylab as plt
import matplotlib as mpl
if __name__ == '__main__':
fig = plt.figure(figsize=(3, 8))
cmap = mpl.cm.Spectral_r
ax3 = fig.add_axes([0.3, 0.2, 0.2, 0.5]) # the four parameters are left, bottom, width, and length
norm = mpl.colors.Normalize(vmin=1.3, vmax=2.5)
bounds = [ round(elem, 2) for elem in np.linspace(1.3, 2.5, 14)] #
cb3 = mpl.colorbar.ColorbarBase(ax3, cmap=cmap,
norm=norm,
# to use 'extend', you must
# specify two extra boundaries:
boundaries= [1.2] + bounds + [2.6],
extend='both',
ticks=bounds, # optional
spacing='proportional',
orientation='vertical')
plt.show()
コンターフ機能
contour と contourf はそれぞれ輪郭線を描画し、輪郭線を塗りつぶします。関数のシグネチャと戻り値は両バージョンとも同じである.両者の描画の例を以下に示す。 python matplotlib 輪郭プロット と matplotlib 中国語ドキュメント
contourf([X, Y,] Z, [levels], **kwargs) # [ ] means that the argument is optional - it can be given or not given
contourfの基本的な引数です。
X, Y : 配列のようなもの、オプション
contourfの引数のXとYは両方とも2次元で、Zと同じ形状でなければなりません(例えば、numpy.meshgridで作成);または両方とも1次元で、len(X) == MがZの列数、len(Y) == NがZの行数でなければなりません。
もし与えられなければ、X = range(M), Y = range(N) のように、整数のインデックスとみなされる。Z : 配列のようなもの(N, M)
輪郭線の高さの値を描画します。
levels : int または配列状、オプション
輪郭/領域の数と位置を決定する。
int n の場合、n 個のデータ間隔、つまり n+1 個の等高線が描かれる。水平方向の高さは自動的に選択される。
配列と同様の場合、指定したレベルで等高線が描かれます。値はインクリメンタルでなければならない。
すべてのサブグラフのリボンを追加する
参考にしてください。
Matplotlib 2つのサブプロット、1つのカラーバー
利用可能な場合は、すべてのサブプロットにカラーバーを追加します。
import numpy as np
import matplotlib.pyplot as plt
fig, axes = plt.subplots(nrows=2, ncols=2)
for ax in axes.flat:
im = ax.imshow(np.random.random((10,10)), vmin=0, vmax=1)
fig.subplots_adjust(right=0.8)
cbar_ax = fig.add_axes([0.85, 0.15, 0.05, 0.7])
fig.colorbar(im, cax=cbar_ax)
plt.show()
推奨リボン vs カスタムリボン
描画時には、推奨リボンを使用することができます。での
記録色スケールを用いた等高線
には、cmap パラメータがあり、cmap はリボンです。cmap の値は
カラーマップリファレンス
.
次のコードは
カラースケールを記録した等高線
cs = ax.contourf(X, Y, z, locator=ticker.LogLocator(), cmap=cm.PuBu_r) # PuBu_r is the inversion of the PuBu ribbon
cbar = fig.colorbar(cs)
cmap は matplotlib で提供されているリボンですが、独自のリボンを作るには、以下のようにパラメータ colors を使用します。
# Colors is a list of optional colors
Colors=('#DDDDFF','#7D7DFF','#0000C6','#000079','#CEFFCE','#28FF28','#007500','#FFFF93','#8C8C00','#FFB5B5','#FF0000','#CE0000','# 750000')
cs=m.contourf(xi, yi, z, colors=Colors, levels=levels, extend='both') # Here m is a basemap instance
cmapでは、いくつかのデフォルトのカラーバンドが提供されています。
関連
-
[解決済み】twinx と twiny を一緒に使う matplotlib (twinxy のようなもの)
-
TclError: 表示名がない、$DISPLAY環境変数の解決策もない。
-
[解決済み] matplot の各極軸に xv ラインを追加する方法
-
[解決済み] matplotlib で swarm プロットを作成する方法
-
[解決済み] pad_inches=0 と bbox_inches="tight" は、宣言された figsize よりも小さいプロットを作成します。
-
[解決済み] matplotlib でプロットをクリアするために cla()、clf() または close() をいつ使うか?
-
matplotlib のエラーです。TypeError: -でサポートされていないオペランドタイプ: 'str' および 'str'
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
ハートビート・エフェクトのためのHTML+CSS
-
HTML ホテル フォームによるフィルタリング
-
HTML+cssのボックスモデル例(円、半円など)「border-radius」使いやすい
-
HTMLテーブルのテーブル分割とマージ(colspan, rowspan)
-
ランダム・ネームドロッパーを実装するためのhtmlサンプルコード
-
Html階層型ボックスシャドウ効果サンプルコード
-
QQの一時的なダイアログボックスをポップアップし、友人を追加せずにオンラインで話す効果を達成する方法
-
sublime / vscodeショートカットHTMLコード生成の実装
-
HTMLページを縮小した後にスクロールバーを表示するサンプルコード
-
html のリストボックス、テキストフィールド、ファイルフィールドのコード例