我正在尝试创建一个事件的时间线,其中一些事件会受到时间线中其他事件的影响,
我想使用纯色和多色标记,这样我就可以知道哪个事件受到了其他事件的影响,
所以我的时间线会有不同颜色的标记-
蓝色,黑色,蓝色,蓝黑色,橙色,橙色和蓝色,橙色和蓝黑色,黑色,蓝色
我使用一个函数按值选择颜色,但一次只能选择一种颜色,这对我的情况没有用处。
我正在使用的函数-
def SetColor(x):
if(x <= 3):
return "green"
elif(x == 5):
return "red"
elif(x>=10):
return "black"到目前为止我的代码-
fig = go.Figure(data = [go.Scatter(
y = [0 for l in range(52)],
x = time_line,
text = label_fig,
mode = 'markers',
marker = dict(
size = stages_fig,
color = list(map(SetColor, stages_fig)),
sizemode = 'area',
sizeref = 2.*max([10])/(40.**2),
sizemin = 1
)
)])
fig.update_yaxes(title="POC", visible=True, showticklabels=False)
fig.show()发布于 2020-09-30 04:25:09
您可以创建一个将值映射到颜色的函数,如下所示:
def set_color(value):
color_dict = {**{value: "green" for value in range(0,4)}, **{value: "green-red" for value in range(4,5)}, **{value: "red" for value in range(5,6)}, **{value: "red-black" for value in range(6,10)}} # can modify colors, values in color_dict
return "black" if value >= 10 else color_dict.get(value, "white") # can put some other value than "white"https://stackoverflow.com/questions/64126752
复制相似问题