python - Matplotlib 通过颜色图绘制带有颜色的线条

标签 python numpy matplotlib colormap

我在一个图上绘制多条线,我希望它们贯穿颜色图的光谱,而不仅仅是相同的 6 或 7 种颜色。代码类似于:

for i in range(20):
     for k in range(100):
          y[k] = i*x[i]
     plt.plot(x,y)
plt.show()

使用颜色图“jet”和我从 seaborn 导入的另一个颜色图,我得到了以相同顺序重复的相同 7 种颜色。我希望能够绘制多达 60 条不同的线条,所有线条都具有不同的颜色。

最佳答案

Matplotlib 颜色图接受一个参数(0..1,标量或数组),您可以使用该参数从颜色图中获取颜色。例如:

col = pl.cm.jet([0.25,0.75])    

为您提供具有(两种)RGBA 颜色的数组:

array([[ 0. , 0.50392157, 1. , 1. ], [ 1. , 0.58169935, 0. , 1. ]])

您可以使用它来创建 N 种不同的颜色:

import numpy as np
import matplotlib.pylab as pl

x = np.linspace(0, 2*np.pi, 64)
y = np.cos(x) 

pl.figure()
pl.plot(x,y)

n = 20
colors = pl.cm.jet(np.linspace(0,1,n))

for i in range(n):
    pl.plot(x, i*y, color=colors[i])

enter image description here

关于python - Matplotlib 通过颜色图绘制带有颜色的线条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38208700/

相关文章:

用于类实例变量的对象方法链接的 Python 方式

python - Numpy 3D 数组索引 : Works for 2D, 如何为 3D 做?

python - 以可移植数据格式保存/加载 scipy sparse csr_matrix

python - 如何在 matplotlib 中以交互方式在绘图之间切换,或有选择地隐藏和显示绘图上的数据?

python - 如何在 Python 中检测按下的任意键而不阻止执行

python - undefined symbol : PyFPE_jbuf error while using 'lxml' on ubuntu

python - 减少使用 numpy 的一行代码的内存使用量

python - 在 matplotlib 中注释子图可将图形缩放到最大轴

python - matplotlib barh 在条之间产生奇怪的间距

python - 十六进制转pem文件