栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Python-使用matplotlib创建自己的颜色图并绘制颜色比例

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python-使用matplotlib创建自己的颜色图并绘制颜色比例

这里有一个有关如何创建自定义颜色图的说明性示例。文档字符串对于理解的含义至关重要 cdict。一旦掌握了这一点,就可以使用

cdict
如下代码:

cdict = {'red':   ((0.0, 1.0, 1.0),         (0.1, 1.0, 1.0),  # red         (0.4, 1.0, 1.0),  # violet        (1.0, 0.0, 0.0)), # blue         'green': ((0.0, 0.0, 0.0),        (1.0, 0.0, 0.0)),         'blue':  ((0.0, 0.0, 0.0),        (0.1, 0.0, 0.0),  # red        (0.4, 1.0, 1.0),  # violet        (1.0, 1.0, 0.0))  # blue          }

尽管该cdict格式为你提供了很大的灵活性,但我发现对于简单的渐变,其格式相当不直观。这是一个实用程序函数,可帮助生成简单的

LinearSegmentedColormaps

import numpy as npimport matplotlib.pyplot as pltimport matplotlib.colors as mcolorsdef make_colormap(seq):    """Return a LinearSegmentedColormap    seq: a sequence of floats and RGB-tuples. The floats should be increasing    and in the interval (0,1).    """    seq = [(None,) * 3, 0.0] + list(seq) + [1.0, (None,) * 3]    cdict = {'red': [], 'green': [], 'blue': []}    for i, item in enumerate(seq):        if isinstance(item, float): r1, g1, b1 = seq[i - 1] r2, g2, b2 = seq[i + 1] cdict['red'].append([item, r1, r2]) cdict['green'].append([item, g1, g2]) cdict['blue'].append([item, b1, b2])    return mcolors.LinearSegmentedColormap('CustomMap', cdict)c = mcolors.ColorConverter().to_rgbrvb = make_colormap(    [c('red'), c('violet'), 0.33, c('violet'), c('blue'), 0.66, c('blue')])N = 1000array_dg = np.random.uniform(0, 10, size=(N, 2))colors = np.random.uniform(-2, 2, size=(N,))plt.scatter(array_dg[:, 0], array_dg[:, 1], c=colors, cmap=rvb)plt.colorbar()plt.show()

顺便说一下

for-loop

```
for i in range(0, len(array_dg)):

plt.plot(array_dg[i], markers.next(),alpha=alpha[i], c=colors.next())
```

每次致电都会画一个点

plt.plot
。这仅适用于少数几个点,但是对于许多点将变得极其缓慢。
plt.plot
只能绘制一种颜色,但
plt.scatter
可以为每个点分配不同的颜色。因此,
plt.scatter
是要走的路。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/517609.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号