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_rgb

rvb = 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-loopfor 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是该走的路。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值