首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多颜色matplotlib标记

多颜色matplotlib标记
EN

Stack Overflow用户
提问于 2020-09-30 03:56:21
回答 1查看 68关注 0票数 1

我正在尝试创建一个事件的时间线,其中一些事件会受到时间线中其他事件的影响,

我想使用纯色和多色标记,这样我就可以知道哪个事件受到了其他事件的影响,

所以我的时间线会有不同颜色的标记-

蓝色,黑色,蓝色,蓝黑色,橙色,橙色和蓝色,橙色和蓝黑色,黑色,蓝色

我使用一个函数按值选择颜色,但一次只能选择一种颜色,这对我的情况没有用处。

我正在使用的函数-

代码语言:javascript
复制
def SetColor(x):
    if(x <= 3):
        return "green"
    elif(x == 5):
        return "red"
    elif(x>=10):
        return "black"

到目前为止我的代码-

代码语言:javascript
复制
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()
EN

回答 1

Stack Overflow用户

发布于 2020-09-30 04:25:09

您可以创建一个将值映射到颜色的函数,如下所示:

代码语言:javascript
复制
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"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64126752

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档