如何设置颜色条轮廓线的刻度,颜色和标签的限制f matplotlib

BFRF

我有一个值的空间字段,在一天的过程中会定期输出这些值。我正在密谋,contourf并希望在当天的数据中执行以下操作:

  • 将彩色栏上的颜色限制为代表当天数据的最小值和最大值的值
  • 在每天的最大和最小数据上,在24小时图表中保持颜色条的静态
  • 在这24小时内将标签保持静态

例如:

data = np.random.uniform(0, 5, size=(24,30,30))
data[3,:,:]=np.random.uniform(1,3,size=(30,30))  # example of bad plot
fgsize=(12,4)
numrecs = np.size(data,axis=0)
cbar_min = np.min(data)
cbar_max = np.max(data)
cbarlabels = np.linspace(np.floor(cbar_min), np.ceil(cbar_max), num=5, endpoint=True)


for tt in range(0, numrecs):
    plt.figure(figsize=fgsize, dpi=80)
    plt.title('this is a title')
    plt.contourf(data[tt, :, :], 35, vmin=cbar_min, vmax=cbar_max, cmap='coolwarm')
    cbar =plt.colorbar()
    cbar.set_ticks(cbarlabels)
    cbar.set_ticklabels(cbarlabels)
    cbar.set_label('my data has units')
    plt.show()
    plt.close()

这是一个坏情节的例子颜色似乎有限,但是颜色栏会更改其颜色/标签限制。我该如何解决?

这是一个好情节的例子

实验室

事实证明,contourf在设置颜色图的级别时有些棘手,请参见此答案您可以通过对轮廓进行归一化来获得适当的限制和颜色,如下所示:

import numpy as np
import matplotlib.pyplot as plt

data = np.random.uniform(0, 5, size=(24,30,30))
data[3,:,:]=np.random.uniform(1,3,size=(30,30))  # example of bad plot
fgsize=(12,4)
numrecs = np.size(data,axis=0)
cbar_min = np.min(data)
cbar_max = np.max(data)
cbarlabels = np.linspace(np.floor(cbar_min), np.ceil(cbar_max), num=5, endpoint=True)

# Set the normalisation for 35 levels (as in your example)
import matplotlib.colors as mc
levels = np.linspace(np.floor(cbar_min), np.ceil(cbar_max), 35) # to draw 35 levels
norm = mc.BoundaryNorm(levels, 256)

for tt in range(0, numrecs):
    print cbar_min, cbar_max
    plt.figure(figsize=fgsize, dpi=80)
    plt.title('this is a title')

    # Draw those levels, with proper normalisation, here:
    plt.contourf(data[tt, :, :], levels, vmin=cbar_min, vmax=cbar_max, cmap='coolwarm', levels=levels, norm=norm)

    cbar = plt.colorbar()
    cbar.set_ticks(cbarlabels)
    cbar.set_ticklabels(cbarlabels)
    cbar.set_label('my data has units')
    plt.show()

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类常见问题

设置Matplotlib颜色条大小以匹配图形

来自分类Dev

在matplotlib颜色栏中对齐刻度标签

来自分类Dev

颜色条上的日志标签matplotlib

来自分类Dev

定位颜色条-Matplotlib

来自分类Dev

在matplotlib中绘制圆形轮廓线

来自分类Dev

如何在Matplotlib中设置颜色条范围?

来自分类Dev

matplotlib颜色条上对数刻度的次刻度线?

来自分类Dev

在matplotlib中更改次刻度线颜色

来自分类Dev

matplotlib中颜色条标签的对齐

来自分类Dev

在matplotlib rc中设置刻度线egde颜色

来自分类Dev

matplotlib颜色条的顶部标签

来自分类Dev

Matplotlib刻度线和不同颜色的标签

来自分类Dev

在海洋/ matplotlib中绘制轮廓圆形颜色条

来自分类Dev

matplotlib调整颜色条

来自分类Dev

如何使用Matplotlib删除/忽略较小的轮廓线

来自分类Dev

matplotlib颜色条刻度标签格式

来自分类Dev

在matplotlib中使用SymLogNorm归一化格式化颜色条刻度标签

来自分类Dev

如何在Matplotlib中创建非线性颜色条刻度

来自分类Dev

如何在Matplotlib中更改颜色条的刻度标签的字体大小?

来自分类Dev

从Matplotlib的颜色栏中删除标签和刻度线

来自分类Dev

在matplotlib颜色栏中对齐刻度标签

来自分类Dev

定位颜色条-Matplotlib

来自分类Dev

Matplotlib:轮廓线作为颜色栏中的线条

来自分类Dev

matplotlib中颜色条标签的对齐

来自分类Dev

在 plt 外设置 matplotlib 颜色图的限制

来自分类Dev

Matplotlib 颜色条:如何手动设置间隔?

来自分类Dev

matplotlib 中颜色条刻度标签的旋转会重置刻度标签格式

来自分类Dev

Matplotlib:不同颜色点和线的图例

来自分类Dev

颜色条轴标签与刻度重叠 Matplotlib

Related 相关文章

热门标签

归档