在matplotlib中使用带有lineplot的Colormap

2024-03-29 02:20:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我对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))?在

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


Tags: in绘图forlenplotmatplotlib颜色range
1条回答
网友
1楼 · 发布于 2024-03-29 02:20:53

关于彩色地图我会回答的。您可以使用karg颜色来指定带有元组的rgb颜色。。。这在documentation中有很好的解释。在

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

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

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()

enter image description here

相关问题 更多 >