python colormap(颜色映射)
转载(有增减,后面有举例):http://blog.csdn.net/guduruyu/article/details/60868501
[python] view plain copy
import numpy as np
import matplotlib.pyplot as plt # Have colormaps separated into categories:
# http://matplotlib.org/examples/color/colormaps_reference.html cmaps = [('Perceptually Uniform Sequential', ['viridis', 'inferno', 'plasma', 'magma']), ('Sequential', ['Blues', 'BuGn', 'BuPu', 'GnBu', 'Greens', 'Greys', 'Oranges', 'OrRd', 'PuBu', 'PuBuGn', 'PuRd', 'Purples', 'RdPu', 'Reds', 'YlGn', 'YlGnBu', 'YlOrBr', 'YlOrRd']), ('Sequential (2)', ['afmhot', 'autumn', 'bone', 'cool', 'copper', 'gist_heat', 'gray', 'hot', 'pink', 'spring', 'summer', 'winter']), ('Diverging', ['BrBG', 'bwr', 'coolwarm', 'PiYG', 'PRGn', 'PuOr', 'RdBu', 'RdGy', 'RdYlBu', 'RdYlGn', 'Spectral', 'seismic']), ('Qualitative', ['Accent', 'Dark2', 'Paired', 'Pastel1', 'Pastel2', 'Set1', 'Set2', 'Set3']), ('Miscellaneous', ['gist_earth', 'terrain', 'ocean', 'gist_stern', 'brg', 'CMRmap', 'cubehelix', 'gnuplot', 'gnuplot2', 'gist_ncar', 'nipy_spectral', 'jet', 'rainbow', 'gist_rainbow', 'hsv', 'flag', 'prism'])] nrows = max(len(cmap_list) for cmap_category, cmap_list in cmaps)
gradient = np.linspace(0, 1, 256)
gradient = np.vstack((gradient, gradient)) def plot_color_gradients(cmap_category, cmap_list): fig, axes = plt.subplots(nrows=nrows) fig.subplots_adjust(top=0.95, bottom=0.01, left=0.2, right=0.99) axes[0].set_title(cmap_category + ' colormaps', fontsize=14) for ax, name in zip(axes, cmap_list): ax.imshow(gradient, aspect='auto', cmap=plt.get_cmap(name)) pos = list(ax.get_position().bounds) x_text = pos[0] - 0.01 y_text = pos[1] + pos[3]/2. fig.text(x_text, y_text, name, va='center', ha='right', fontsize=10) # Turn off *all* ticks & spines, not just the ones with colormaps. for ax in axes: ax.set_axis_off() for cmap_category, cmap_list in cmaps: plot_color_gradients(cmap_category, cmap_list) plt.show()
举例1:
横坐标是从1到1000的数,纵坐标是横坐标的平方,要求使用颜色映射为:gist_rainbow(即最后一张图的倒数第四个颜色映射)
import matplotlib.pyplot as pltx = list(range(1,1001))
y = [i**2 for i in x]#使用列表解析plt.scatter(x,y,c=y,cmap=plt.cm.gist_rainbow,s=20)#cm即colormap,c=y表示颜色随y变化
plt.xlabel('number',fontsize=10)
plt.ylabel('number square',fontsize=10)
plt.title('figure 1',fontsize =20)
plt.axis([0,1100,0,1100000])
plt.show()
代码中cm即colormap,c=y表示颜色随y变化(第一图),也可以使用c=x,使得颜色随x映射(第二图),变化不大
图如下:
举例2
画一个2维无关高斯分布
这里实际关于颜色映射的就只有ax.plot_surface(X,Y,F_x_y,cmap='jet')
这一行代码,jet是上面给的渐变色中的一个。
import numpy as np
import matplotlib.pyplot as plt
import mpl_toolkits.axisartist as axisartist
from mpl_toolkits.mplot3d import Axes3D #画三维图不可少
from matplotlib import cm #cm 是colormap的简写#定义坐标轴函数
def setup_axes(fig, rect):ax = axisartist.Subplot(fig, rect)fig.add_axes(ax)ax.set_ylim(-.2, 1.2)#自定义刻度
# ax.set_yticks([-10, 0,9])ax.set_xlim(-10,10)ax.axis[:].set_visible(False)#第2条线,即y轴,经过x=0的点ax.axis["y"] = ax.new_floating_axis(1, 0)ax.axis["y"].set_axisline_style("-|>", size=1.5)
# 第一条线,x轴,经过y=0的点ax.axis["x"] = ax.new_floating_axis(0, 0)ax.axis["x"].set_axisline_style("-|>", size=1.5)return(ax)
# 1_dimension gaussian function
def gaussian(x,mu,sigma):f_x = 1/(sigma*np.sqrt(2*np.pi))*np.exp(-np.power(x-mu, 2.)/(2*np.power(sigma,2.)))return(f_x)# 2_dimension gaussian function
def gaussian_2(x,y,mu_x,mu_y,sigma_x,sigma_y):f_x_y = 1/(sigma_x*sigma_y*(np.sqrt(2*np.pi))**2)*np.exp(-np.power\(x-mu_x, 2.)/(2*np.power(sigma_x,2.))-np.power(y-mu_y, 2.)/\(2*np.power(sigma_y,2.)))return(f_x_y)#在已经定义好的画布上加入高斯函数
x_values = np.linspace(-5,5,2000)
y_values = np.linspace(-5,5,2000)
X,Y = np.meshgrid(x_values,y_values)
mu_x,mu_y,sigma_x,sigma_y = 0,0,0.8,0.8
F_x_y = gaussian_2(X,Y,mu_x,mu_y,sigma_x,sigma_y)
#显示三维图
fig = plt.figure()
ax = plt.gca(projection='3d')
ax.plot_surface(X,Y,F_x_y,cmap='jet')
# 显示等高线图
#ax.contour3D(X,Y,F_x_y,50,cmap='jet')
#plt.show()
举例3 颜色渐变画图
例子参考codeday的最后一个举例
import matplotlib.pyplot as plt
import numpy as npx = np.linspace(0, 1, 10)
number = 5
cmap = plt.get_cmap('gnuplot')
colors = [cmap(i) for i in np.linspace(0, 1, number)]for i, color in enumerate(colors, start=1):plt.plot(x, i * x + i, color=color, label='$y = {i}x + {i}$'.format(i=i))
plt.legend(loc='best')
plt.show()
如果是子图的形式展示,即ax.plot()的形式,那么里面的颜色表示为c=color
因为ax里面是使用的c
而不是全名color
表示颜色变量
python colormap(颜色映射)相关推荐
- python colormap(颜色映射)自定义
在前面讲过颜色映射了,见:https://blog.csdn.net/mr_cat123/article/details/80709099 和https://blog.csdn.net/mr_cat1 ...
- python画图颜色种类_Python可视化|matplotlib07-python colormap(颜色映射)(三)
本篇详细介绍matplotlib内置的颜色条Colormap使用. 本文将学到什么? 1.colormap名称 2.colormap可视化 3.colormap使用方法 4.参考资料 更好的阅读体验请 ...
- python可视化——颜色映射
颜色映射 实现颜色渐变 **颜色映射 (colormap)是一系列颜色,它们从起始颜色渐变到结束颜色.**在可视化中,颜色映射用于突出数据变化的规律,例如,你可能用较浅的颜色来显示较小的值,并使用较深 ...
- MATLAB交换图片红绿颜色通道,matlab的颜色映射colormap
Colormap 颜色映射 1.首先说明颜色图这个概念: 在matlab中用我们描述一种颜色通常用RGB(红绿蓝)的形式,当然在计算机中RGB取值都在0到1的实数,强度必须在 [0, 1] 范围内,值 ...
- 【Matplotlib】【Python】如何使用matplotlib颜色映射
颜色映射(colormap)是一系列颜色,它们从起始颜色渐变到结束颜色.在可视化中,颜色映射用于突出数据的规律,例如,你可能用较浅的颜色来显示较小的值,并使用较深的颜色来显示较大的值. 模块pyplo ...
- python opencv cv.applyColorMap()函数(颜色映射)ColormapTypes【将Intel Realsense D435深度图的黑白图映射为彩色图】
文章目录 API ColormapTypes 完整应用代码[将深度图的黑白图映射为彩色图] map原理 能否map CV_24UC3的? API def applyColorMap(src, colo ...
- matlab0-255的颜色映射到0-1,python中的matlab颜色映射
我想(?)您需要的是一个Colour Mapping函数,如:def create_colourmap(colour, grey): c_map = numpy.zeros((256,4), dtyp ...
- scatter python cmap_Matplotlib.pyplot.scatter()中颜色映射cmap的可能取值
颜色映射cmap可能的取值: Accent, Accent_r, Blues, Blues_r, BrBG, BrBG_r, BuGn, BuGn_r, BuPu, BuPu_r, CMRmap, C ...
- python 数据可视化 matplotlib学习二 : 对折线图使用颜色映射
本节代码依赖上一节代码 颜色映射是一系列颜色,他们从起始颜色渐变到结束颜色,在可视化中,颜色映射用于突出数据的规律,例如,你可能用较浅的颜色来显示较小的值,并使用较深的颜色来显示较大的值 下面演示如何 ...
最新文章
- 今天是第一次开博客,for--futurechild!!!
- 零基础入门学习Python(8)-了不起的分支和循环3
- 微软的DeepSinger产生可以英语和中文唱歌的声音
- 开发ProxyServer的时候如何在一台PC上调试
- 微盟616零售购物节观察:私域流量增值是社交生态的真实价值
- html怎么给边框改样式,html里面怎么设置边框?html边框样式设置方法
- leetcode389. 找不同
- 【代码升级】【iCore3 双核心板】例程二十八:FSMC实验——读写FPGA
- 计算机补丁的概念,补丁是什么意思?网上说的打补丁什么意思
- Think in Java第四版 读书笔记8第14章 类型信息(RTTI与反射)
- plc的指针和c语言指针,关于STEP7 Pointer指针的问题
- ajax怎么找回地址栏,使用ajax和window.history.pushState无刷新改变页面内容和地址栏URL...
- 未来语音识别技术的发展趋势将会怎样
- 【转】Sections Headers for Android ListViews
- swift 抛出错误_Swift错误处理– Swift尝试,捕捉,抛出
- 里皮正式告别国足:我尽了最大努力让球队成长
- 【学习笔记】概率论与数理统计 - 陈希孺--第一章.事件的概率
- ecshop shopex_json.php,Shopex到ECShop的转换教程
- 高性能计算机介绍,曙光个人高性能计算机介绍
- [杂谈]金克木:《与小说对话:不败求败》
热门文章
- android运行exe没有反应,安卓最担心的事情发生了
- linux网站配置文件,Linux网站服务器配置文件
- java url使用rest风格_Restful风格的URL请求
- python安装程序打不开_使用PIP安装Python包会导致链接:致命错误LNK1104:无法打开文件“python27.lib”...
- python视频抽帧 后 前端javascript如何显示_python通过ffmgep从视频中抽帧的方法
- php 字符串表示,php字符串是否包含某字符串
- 自建通用Makefile 分享
- mongodb mysql 事务_MongoDB数据库两阶段提交实现事务的方法详解 _ 蚂蚁视界
- idea 报系统分区磁盘不足_系统磁盘管理功能讲解,电脑硬盘分区格式化修改驱动器号图文教程...
- SQL Server中临时表与表变量的区别