如何创建 n 个图形形状(循环中)-python

所以我试图用 Plotly 在图中绘制 n 个圆形。这个数字 n 可能会有所不同,这就是为什么我不能手动创建它们但我需要一个循环。有没有办法做到这一点?根据我的列表索引将这段代码复制 n 次?:


  'shapes': [

     # Circle to define radius_of_persistence

    {

        'type': 'circle',

        'xref': 'x',

        'yref': 'y',

        'x0': zois_list[0]-radius_of_persistence,

        'y0': zois_list[1]-radius_of_persistence,

        'x1': zois_list[0]+radius_of_persistence,

        'y1': zois_list[1]+radius_of_persistence,

        'line': {

            'color': 'rgba(255, 171, 96, 1)',

        },

    },


HUX布斯
浏览 163回答 2
2回答

德玛西亚99

在更新图形布局之前,我在循环中创建了形状列表,例如:shapes = []    for ind_begin, ind_end in zip(ind_begins, ind_ends):        shapes.append(go.layout.Shape(                    type="rect",                    xref="x",                    yref="paper",                    x0=df.iloc[:, 0][ind_begin],                    y0=0,                    x1=df.iloc[:, 0][ind_end],                    y1=1,                    fillcolor="LightSalmon",                    opacity=0.5,                    layer="below",                    line_width=0,                ))    fig.update_layout(            shapes=shapes        )

茅侃侃

所以,基本上我发现在循环中创建形状的唯一方法是自己创建代表“布局”的 json 对象。通过这种方式,我可以根据需要在字典(布局)中包含尽可能多的条目。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python