我有一个数据框,如下所示,有3列。我使用“束”作为x值,使用“统一大小”作为y值,以形成散点图。但是我想根据第三列类为各个点着色。类值2为绿色,4为蓝色的点
以数据帧中的第一个点和最后一个点为例。第一个点的x值为5,y值为1,颜色为绿色,而最后一个点的x值为4,y值为8,颜色为蓝色
我尝试使用如图所示的if语句,但出现语法错误。有什么办法吗
fig = go.Figure()
fig.update_layout(width = 400, height = 400, template = 'plotly_white',xaxis_title = 'clump', yaxis_title = 'Unif Size')
fig.add_trace(go.Scatter(x = data.Clump,
y = data.UnifSize,
mode = 'markers',
if data.Class == 2:
marker = duct(
color = 'green'
)
if data.Class == 4:
marker = dict(
color = 'yellow'
)
)))
例如,您可以执行以下操作:
创建示例
x
和y
数据,使用包含颜色所依赖条件的数组:具有与条件数组中的
x
对应的索引的y
点和y
点为:如果我们希望x和y数组中的元素在条件数组中具有与
1
对应的索引,我们只需将0
更改为1
:或者,您可以使用
zip
:其他人也是如此
这是一个有条件的列表理解,这里有很好的解释:https://stackoverflow.com/a/4260304/8565438
然后用2
go.Scatter
调用绘制2对数组整个事情:
这将为您提供:
我相信这就是我们想要的
要从
DataFrame
列转换为list
,建议使用以下命令:get list from pandas dataframe column相关问题 更多 >
编程相关推荐