正如标题中所述,我试图修正极坐标等值线的颜色条(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几个小时但仍未找到解决方案。我会指出正确的方向。
答案 0 :(得分: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)
答案 1 :(得分:1)
另一种解决方案可能是遵循 this response 中使用的逻辑来解决有关设置颜色条的最小值和最大值的类似问题。主要内容是使用 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)
This answer 与此类似,但解决了对多个图形使用相同颜色条最小值/最大值的必要性。