1

我需要使用 plot.ly 的在线版本创建一个图,其中每个点对应一种颜色。我看到可以通过在 x 和 y 列旁边的数据部分中添加带有颜色代码的列来做到这一点,但我不知道如何指示 plot.ly 这是颜色柱子。例如,举个例子: 颜色渐变

单击“fork and edit”按钮,然后尝试使用提供的数据重现结果,我不能!“跟踪”中可用的选项比我在创建数据集时可以访问的选项要完整得多。

这是屏幕截图:screenshot

关于如何做到这一点的任何想法?提前谢谢了

4

1 回答 1

1

为每个点为您要自定义的每个“属性”制作一个列表。我需要为每个点使用不同的颜色和文字。

colors = []
texts = []
x_values = []
y_values = []

为了清楚起见,这些是放在列表中的值:

init_anchor_text = "Initial Anchor No.%d"
anchor_text_real = "Localized Anchor No.%d - real values"
anchor_text = "Localized Anchor No.%d"
unknown_text = "Unknown Node No.%d"
init_anchor_color = 'rgba(50, 96, 171,.9)'
anchor_color = 'rgba(50, 171, 96,.9)'
anchor_color_real = 'rgba(171, 171, 50,.9)'
unknown_color = 'rgba(171, 50, 96,.9)'

在我的 for 循环中的几个 if 之后,这就是我放置值的方式,只需使用 append 到列表:

x_values.append(node.calc_x)
y_values.append(node.calc_y)
colors.append(init_anchor_color)
texts.append((init_anchor_text % node.number))

这是散点图和绘图:

trace = go.Scatter(
    x=x_values,
    y=y_values,
    mode='markers',
    text=text,
    marker=dict(
        size=10,
        color=colors,
        line=dict(
            width=2,
        )
    )
)

fig = {
    'data': [trace],
    'layout': layout,
}
plotly.offline.plot(fig, filename='TriangulationExercise.html')
于 2018-03-17T18:33:47.793 回答