【问题标题】:Using a Colormap with lineplot in matplotlib在 matplotlib 中使用带有线图的颜色图
【发布时间】:2013-07-03 15:54:37
【问题描述】:

我对 python 和 matplotlib 非常陌生,我想创建一个带有不同颜色线条的图。我知道我必须使用颜色图,但我不确定如何。所以我有一个 for 循环:

for i in range(len(params)):
    centers,fN = graph.createHistogram(values = NHI[i])
    for j in range(len(centers)): 
        if params[i]!=fidVal:
            vals[j] = (np.log10(origfNHI[j]/fN[j]))/(fidVal-params[i])
        plt.plot(centers,vals)

我想根据params[i]fidVal 的值之间的差异为每一行赋予不同的颜色。如果fidVal - params[i] 是一个负数,我希望这条线很红,如​​果它是一个负数,我希望它不那么红。同样,如果fidVal - params[i] 是正数,我希望它基于该值是蓝色的。最后,我希望将颜色映射到将显示在绘图上的颜色条上。

或者,当我使用plt.plot() 时,有没有办法可以指定线条的 rgb 颜色?比如,我可以说plt.plot(centers,vals,Color(0,0,0))吗?

我应该使用什么代码来解决这个问题?

【问题讨论】:

    标签: python matplotlib colorbar


    【解决方案1】:

    我将回答有关颜色图的问题。您可以使用 karg 颜色来指定带有元组的 rgb 颜色...在 documentation 中有很好的解释。

    "此外,您可以通过许多奇怪而奇妙的方式指定颜色,包括全名('green')、十六进制字符串('#008000')、RGB 或 RGBA 元组((0,1,0 ,1)) 或灰度强度作为字符串 ('0.8')。其中,字符串规范可用于代替 fmt 组,但元组形式只能用作 kwargs。” p>

    这里有一个非常简单的例子:

    import matplotlib.pyplot as plt
    import numpy as np
    x = np.linspace(0,1,1000)
    n=50
    for i in range(1,n):
        y = i/float(n)*x**2
        plt.plot(x,y,color=(i/float(n),(i/float(n))**4,(i/float(n))**2))
    ax = plt.gca()
    ax.xaxis.set_visible(False)
    ax.yaxis.set_visible(False)
    plt.show()
    

    【讨论】:

      猜你喜欢
      • 2018-02-28
      • 2013-12-18
      • 1970-01-01
      • 2016-02-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-23
      • 2017-09-17
      相关资源
      最近更新 更多