如何为每个点(图形)创建一种颜色的散点图?

时间:2015-06-25 00:12:07

标签: python plot plotly

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

点击" fork并编辑"按钮,然后尝试使用提供的数据重现结果,我不能! " Traces"中可用的选项比我创建数据集时可以访问的更完整。

以下是屏幕截图:screenshot

有关如何做到这一点的任何想法?非常感谢提前

1 个答案:

答案 0 :(得分: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之后,这就是我如何设置值,只需使用附加到列表:

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')