我正在尝试创建一个等高线图,其颜色从黑色(值为-1)到浅灰色(为0)到红色(为1)。
我创建了一个自定义的色标,如下所示:我为每0.1的增量(从-1到20的20增量)指定了颜色
[ # Black -> Light grey
[0, 'rgb(0, 0, 0)'],[0.05, 'rgb(0, 0, 0)'],
[0.05, 'rgb(20, 20, 20)'],[0.1, 'rgb(20, 20, 20)'],
[0.1, 'rgb(40, 40, 40)'],[0.15, 'rgb(40, 40, 40)'],
[0.15, 'rgb(60, 60, 60)'],[0.2, 'rgb(60, 60, 60)'],
...
[0.4, 'rgb(160, 160, 160)'],[0.45, 'rgb(160, 160, 160)'],
[0.45, 'rgb(180, 180, 180)'],[0.5, 'rgb(180, 180, 180)'],
# Ligt Grey -> Red
[0.5, 'rgb(187, 162, 162)'],[0.55, 'rgb(187, 162, 162)'],
[0.55, 'rgb(194, 144, 144)'],[0.6, 'rgb(194, 144, 144)'],
[0.6, 'rgb(201, 126, 126)'],[0.65, 'rgb(201, 126, 126)'],
...
[0.9, 'rgb(243, 18, 18)'],[0.95, 'rgb(243, 18, 18)'],
[0.95, 'rgb(255, 0, 0)'],[1, 'rgb(255, 0, 0)']]
但是,当我输出绘图时,我的色标的增量为0.2,因此似乎并未显示我指定的所有颜色。 这就是我得到的
这是显示绘图的代码的一部分,我不确定需要更多信息。
data = [go.Contour(z=df.values.tolist(),x=list(df.columns),y=list(df.index),colorscale = colScale,zmin=-1,zmax=1)]
fig = go.Figure(data=data,layout=layout)
py.iplot(fig,contours= contour,filename='contPlot'+column)
我正在寻找一种显示更多颜色的方法。有没有一种方法可以显示要在色标中插值到指定颜色之间的“拆分”数量? 谢谢
答案 0 :(得分:1)
这些参数与contours属性相关:
go.Contour(
z=df.values.tolist(),
x=list(df.columns),
y=list(df.index),
colorscale=colScale,
contours=dict(
size=0.1,
start=-1,
end=1
)
)
您也不必自己对色阶进行分级,只应使用基色:
[
[0, 'rgb(0, 0, 0)'],[0.5, 'rgb(187, 162, 162)'],
[0.5, 'rgb(187, 162, 162)'],[1, 'rgb(255, 0, 0)']
]
答案 1 :(得分:1)
我最终使用ncontours改变了色标中的颜色数量。
data = go.Contour(
z=df.values.tolist(),
x=list(df.columns),
y=list(df.index),
colorscale = colScale,
zmin=-1,
zmax=1,
ncontours=25)