4

タイトルにあるように、極等高線図のカラーバー (vmin=-3 および vmax=+3) の値を修正しようとしています。このようなグラフを数十個生成しようとしていますが、カラーバーの自動スケーリングにより比較が非常に難しくなります。

プロット自体は、次のコードによって生成されます。

fig, ax = subplots(subplot_kw=dict(projection='polar'))
cax = ax.contourf(thetas, r, values, 130)
cb1 = fig.colorbar(cax)

http://matplotlib.sourceforge.orgを何時間も調べましたが、まだ解決策が見つかりません。私は正しい方向に私を向けるだろう.

4

2 に答える 2

2

これは、輪郭レベルを自分で渡すことで実行できます。

vmin=3、vmax=3 を設定しようとする代わりに、vmin と vmax の間で 130 個の値を選択して、データ範囲に関係なく、すべてのグラフで同じになるようにします。

試す:

contour_levels = arange(-3, 3, 0.05)

fig, ax = subplots(subplot_kw=dict(projection='polar'))
cax = ax.contourf(thetas, r, values, contour_levels)
cb1 = fig.colorbar(cax)
于 2012-08-19T15:58:51.970 に答える
1

別の解決策は、カラーバーの最小値と最大値の設定に関する同様の質問に対するこの回答で使用されているロジックに従うことです。主な要点は の使用ですset_clim(self, vmin=None, vmax=None)。この質問のコンテキストでは、次のいずれかが機能する可能性があります。

fig, ax = subplots(subplot_kw=dict(projection='polar'))
cax = ax.contourf(thetas, r, values, vmin=-3, vmax=3)
cb1 = fig.colorbar(cax)

また

cb1.set_clim(vmin=-3, vmax=3)

この回答は同じ流れですが、複数のグラフに同じカラーバーの最小/最大を使用するという要件に対処しています。

于 2021-07-29T01:05:54.093 に答える