淮安网站建设服务wordpress上传ftp失败
淮安网站建设服务,wordpress上传ftp失败,网站如何在百度搜索到,网站建设 乐达云创Matplotlib颜色条配置 基本颜色颜色条选择配色方案颜色条刻度的限制与扩展功能的设置离散型颜色条 基本颜色
Matplotlib提供了8种指定颜色的方法#xff1a; 在[0#xff0c;1]中的浮点值的RGB或RGBA元组#xff08;例如 (0.1, 0.2, 0.5) 或#xff08;0.1#xff0c; 0.… Matplotlib颜色条配置 基本颜色颜色条选择配色方案颜色条刻度的限制与扩展功能的设置离散型颜色条 基本颜色
Matplotlib提供了8种指定颜色的方法 在[01]中的浮点值的RGB或RGBA元组例如 (0.1, 0.2, 0.5) 或0.1 0.2 0.5 0.3。RGBA是红色绿色蓝色Alpha的缩写 十六进制RGB或RGBA字符串例如 #0F0F0F 或者 #0F0F0F0F [0, 1]中浮点值的字符串表示包括灰度级例如0.5 单字母字符串例如这些其中之一{b gr cm y k w} 一个 X11/CSS4html颜色名称例如blue 来自xkcd的颜色调研的名称前缀为 xkcd例如xkcd:sky blue 一个 Cn 颜色规范即C 后跟一个数字这是默认属性循环的索引matplotlib.rcParams[axes.prop_cycle] 索引在艺术家对象创建时发生如果循环不包括颜色则默认为黑色 其中一个 {tab:bluetab:orangetab:greentab:red tab:purpletab:browntab:pinktab:graytab:olive tab:cyan}它们是tab10分类调色板中的Tableau颜色这是默认的颜色循环。
代码示例
t np.linspace(0.0, 2.0, 201)
s np.sin(2 * np.pi * t)
fig, ax plt.subplots(facecolor(.18, .31, .31))#RGB 元组
ax.set_facecolor(#eafff5)#hex字符串
ax.set_title(Voltage vs. time chart, color0.7)#灰度字符串
ax.plot(t, s, xkcd:crimson)
ax.plot(t, .7*s, colorC4, linestyle--)#CN颜色选择
ax.tick_params(labelcolortab:orange)效果图
颜色条
颜色的设置应该是在matploblib使用最频繁的配置之一了。matplotlib通过cmap参数为图形设置颜色条的配色方案
x np.linspace(0, 10, 1000)
I np.sin(x) * np.cos(x[:, np.newaxis])
plt.imshow(I, cmapgray)#采用灰度配色的图形效果图
matplotlib所有可用的配色方案都在plt.cm命名空间中。在jupyter里通过Tab键就可以查看所有的配置方案plt.cmTAB
选择配色方案
有了这么多能够选择的配色方案只是第一步重要的是如何确定用那种方案。一般情况下我们只需要关注三种不同的配色方案 顺序配色方案由一组连续的颜色构成的配色方案例如binary或viridis 互逆配色方案通常由两种互补的颜色构成表示正反两种含义例如RdBu或PuOr 定性配色方案随机顺序的一组颜色例如rainbow或jet。
jet是一种定性配色方案定性配色方案在对定性数据进行可视化时的选择空间非常有限。随着图形亮度的提高经常会出现颜色无法区分的问题。接下来将演示几个常用的配色方案。
这里通过把jet转换为黑白的灰度图看看
from matplotlib.colors import LinearSegmentedColormap
import matplotlib.pyplot as plt
import numpy as np
def grayscale_cmap(cmap):为配色方案显示灰度图cmap plt.cm.get_cmap(cmap)colors cmap(np.arange(cmap.N))# 将RGBA色转换为不同亮度的灰度值# 参考链接http://alienryderflex.com/hsp.htmlRGB_weight [0.299, 0.587, 0.114]luminance np.sqrt(np.dot(colors[:, :3] ** 2, RGB_weight))colors[:, :3] luminance[:, np.newaxis]return LinearSegmentedColormap.from_list(cmap.name _gray, colors, cmap.N)
def view_colormap(cmap):用等价的灰度图表示配色方案cmap plt.cm.get_cmap(cmap)colors cmap(np.arange(cmap.N))cmap grayscale_cmap(cmap)grayscale cmap(np.arange(cmap.N))fig, ax plt.subplots(2, figsize(6, 2),subplot_kwdict(xticks[], yticks[]))ax[0].imshow([colors], extent[0, 10, 0, 1])ax[1].imshow([grayscale], extent[0, 10, 0, 1])
view_colormap(jet)
plt.show()效果图
从上图我们观察灰度图里比较亮的那部分条纹。这些亮度变化不均匀的条纹在彩色图中对应某一段彩色区间由于色彩太接近容易突显出数据集中不重要的部分导致眼睛无法识别重点。更好的配色方案是viridis它采用了精心设计的亮度渐变方式这样不仅便于视觉观察而且更清晰
view_colormap(viridis)
还可以使用cubehelix实现彩虹效果cubehelix配色方案可以可视化连续的数值
view_colormap(cubehelix)
还有一种可以用两种颜色表示正反两种含义的方案实现函数为RdBu
view_colormap(RdBu)
颜色条刻度的限制与扩展功能的设置
Matplotlib提供了丰富的颜色条配置功能。由于可以将颜色条本身仅看作是一个plt.Axes实例因此前面所学的所有关于坐标轴和刻度值的格式配置技巧都可以派上用场。颜色条有一些有趣的特性。
例如我们可以缩短颜色取值的上下限对于超出上下限的数据通过extend参数用三角箭头表示比上限大的数或者比下限小的数。下面展示一张噪点图
x np.linspace(0, 10, 1000)
I np.sin(x) * np.cos(x[:, np.newaxis])
speckles (np.random.random(I.shape) 0.01)
I[speckles] np.random.normal(0, 3, np.count_nonzero(speckles))
plt.figure(figsize(10, 3.5))
plt.subplot(1, 2, 1)
plt.imshow(I, cmapRdBu)
plt.colorbar()
plt.subplot(1, 2, 2)
plt.imshow(I, cmapRdBu)
plt.colorbar(extendboth)
plt.clim(-1, 1)效果图
左边的图是用默认的颜色条刻度限制实现的效果噪点的范围覆盖掉了我们感兴趣的数据。而右边的图形设置了颜色条的刻度上下限并在上下限之外增加了扩展功能。
离散型颜色条
虽然大多数颜色条默认都是连续的但有的时候你可能也需要表示离散数据。最简单的做法就是使用plt.cm.get_cmap()函数将适当的配色方案的名称以及需要的区间数量传进去即可
x np.linspace(0, 10, 1000)
I np.sin(x) * np.cos(x[:, np.newaxis])
plt.imshow(I, cmapplt.cm.get_cmap(Blues, 6))
plt.colorbar()
plt.clim(-1, 1);效果图
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/87167.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!