python可视化 matplotlib画图使用colorbar工具自定义颜色

python matplotlib画图使用colorbar工具自定义颜色

colorbar(draw colorbar without any mapple/plot)

自定义colorbar可以画出任何自己想要的colorbar,自由自在、不受约束,不依赖于任何已有的图(plot/mappable)。这里使用的是mpl.colorbar.ColorbarBase类,而colorbar类必须依赖于已有的图。

参数可以参考下面的描述->matplotlib

class matplotlib.colorbar.ColorbarBase(ax, cmap=None, norm=None, alpha=None, values=None, boundaries=None, orientation=‘vertical’, ticklocation=‘auto’, extend=‘neither’, spacing=‘uniform’, ticks=None, format=None, drawedges=False, filled=True, extendfrac=None, extendrect=False, label=’’)[source]
参数简单描述

ax :可用于设置colorbar的位置、长、宽
norm :用于规范化–设置颜色条最大最小值
cmap:颜色(可参考本篇博文的最后部分——推荐色带与自定义色带)
boundaries:要想使用extend,在norm之外,必须要有两个额外的boundaries
orientation:colorbar方向,躺平or垂直
extend:延伸方向(在norm之外colorbar可延伸)
ticks:自定义各段的tick(记号)

给一个例子,首先定义一下横纵坐标的名称,以及df_int:

labels_int = ['A', 'B', 'C', 'D']
variables_int = ['A', 'B', 'C', 'D']

# x_normed_int 可以是一个4*4的数组,经过归一化的
df_int = pd.DataFrame(, columns=variables_int, index=labels_int)

接下来就是画图了:

fig = plt.figure()
    ax = fig.add_subplot(111)
    cax = ax.matshow(df, interpolation='nearest', cmap='GnBu')
    fig.colorbar(cax)

    tick_spacing = 1
    ax.xaxis.set_major_locator(ticker.MultipleLocator(tick_spacing))
    ax.yaxis.set_major_locator(ticker.MultipleLocator(tick_spacing))

    ax.set_xticklabels([''] + list(df.columns))
    ax.set_yticklabels([''] + list(df.index))
    plt.show()

其中:

cax = ax.matshow(df, interpolation='nearest', cmap='GnBu')

可以通过cmap修改,得到不同的颜色带

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

最终可以看到结果如下图:
在这里插入图片描述

### 回答1: 在使用python进行数据可视化时,我们经常需要用到colorbar来展示不同数据值的颜色。下面介绍一些python绘制colorbar的方法。 首先,在使用matplotlib画图时,我们可以使用plt.colorbar()函数来生成colorbar。这个函数需要传入一个可绘制的对象和一个用于指定colorbar位置的参数。下面是一段代码示例: ``` import numpy as np import matplotlib.pyplot as plt data = np.random.rand(10,10) plt.imshow(data) plt.colorbar() plt.show() ``` 在这个例子中,我们使用plt.imshow()函数来绘制一个10x10的随机矩阵,然后使用plt.colorbar()函数来生成colorbar。 另外,我们还可以使用Colorbar()函数来自定义colorbar的样式。这个函数需要传入一个用于指定colormap的对象、一个用于指定colorbar位置的参数,以及一些其他可选的参数来调整colorbar的样式。下面是一个例子: ``` from matplotlib.colors import ListedColormap, BoundaryNorm from matplotlib.colorbar import ColorbarBase cmap = ListedColormap(['r', 'g', 'b']) norm = BoundaryNorm([0, 0.5, 1], cmap.N) cb = ColorbarBase(plt.gca(), cmap=cmap, norm=norm) cb.set_label('Value') plt.show() ``` 在这个例子中,我们首先定义了一个由三种颜色组成的colormap,然后使用BoundaryNorm()来将数据分割成三个区间,对应着三种不同的颜色。最后,我们使用ColorbarBase()函数来生成colorbar,并调用set_label()函数来给colorbar添加标签。 总之,在python中画colorbar有多种方法,我们可以根据具体的需求来选择适合自己的方式。 ### 回答2: ### 回答3:
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

彭伟_02

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>