【问题标题】:Picking plot colors from matplotlib colorbar?从 matplotlib 颜色栏中选择绘图颜色?
【发布时间】:2018-08-12 09:25:06
【问题描述】:

我有一个循环,每次迭代都会绘制数据(在同一个图上)。我试图弄清楚如何设置它,以便根据迭代次数从颜色条中绘制每个数据集的颜色 - 也就是说,循环的每次迭代都会绘制一条较深的蓝色阴影线(例如)比它前面的行。

我的代码如下所示:

for k in numpy.arange(0, iterations, 500):
    h,binEdges=numpy.histogram(data1[k])
    bincenters = 0.5*(binEdges[1:]+binEdges[:-1])
    plt.plot(bincenters,h,label=(str(k)))
plt.title(title)
plt.legend(fontsize=6)
plt.show()

(data1 是一个字典。)有人知道这是怎么做到的吗?

【问题讨论】:

    标签: python matplotlib plot colorbar


    【解决方案1】:

    可以通过调用colormap来获取colormap的值。颜色图的范围从 0 到 1。例如cmap = plt.get_cmap("Blues"),得到颜色图中间为cmap(0.5)。因此,您可以使用标准化循环索引调用颜色图以从中获取颜色。

    import numpy as np
    import matplotlib.pyplot as plt
    
    data = [np.random.rand(13+10*i) for i in range(10)]
    data1 = dict(zip(range(10),data))
    
    cmap=plt.get_cmap("Blues")
    kn = np.arange(10)
    for k in kn:
        h,binEdges=np.histogram(data1[k])
        bincenters = 0.5*(binEdges[1:]+binEdges[:-1])
        plt.plot(bincenters,h,label=(str(k)), color=cmap(float(k)/kn.max()))
    
    plt.legend(fontsize=6)
    plt.show()
    

    【讨论】:

      猜你喜欢
      • 2016-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多