我需要创建一个图,其中每个点对应一种颜色,使用plot.ly的在线版本。我看到可以通过在数据部分的x和y列旁边添加一个带有颜色代码的列来实现这一点,但不是我不知道如何指示plot.ly这是颜色栏。 例如,举个例子: color gradient
点击" fork并编辑"按钮,然后尝试使用提供的数据重现结果,我不能! " Traces"中可用的选项比我创建数据集时可以访问的更完整。
以下是屏幕截图:screenshot
有关如何做到这一点的任何想法?非常感谢提前
答案 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')