Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 基于条件颜色打印显示图例_Python_Plotly Python - Fatal编程技术网

Python 基于条件颜色打印显示图例

Python 基于条件颜色打印显示图例,python,plotly-python,Python,Plotly Python,我有二维点,标记为真/假。我想做一个散点图,这样真点是绿色的,假点是红色的。此外,我希望在侧面显示一个图例{green_dot}=True,{red_dot}=False。我怎样才能添加这样的传奇 这里有一个最小的例子。我必须使用go.Scatter(),其他一切都可以更改 import numpy as np import plotly.graph_objects as go x = np.arange(-3,3) color = (x>=0).astype('int') fig = g

我有二维点,标记为真/假。我想做一个散点图,这样真点是绿色的,假点是红色的。此外,我希望在侧面显示一个图例{green_dot}=True,{red_dot}=False。我怎样才能添加这样的传奇

这里有一个最小的例子。我必须使用go.Scatter(),其他一切都可以更改

import numpy as np
import plotly.graph_objects as go
x = np.arange(-3,3)
color = (x>=0).astype('int')
fig = go.Figure(go.Scatter(x=x, 
                           marker=dict(color=color,
                                      colorscale=[[0,'red'],[1,'green']]),                                
                                      showlegend=True))
fig.show()

如图所示,图例的信息量不大。

您可以将数据拆分为带有真实标记点的列表和带有虚假标记点的列表

import numpy as np
import plotly.graph_objects as go

x = np.arange(0, 100)
y = np.random.randn(100)
color = np.random.randint(2, size=100)

fig = go.Figure()

trace1 = np.where(color==0)
trace2 = np.where(color==1)
fig.add_trace(go.Scatter(x=x[trace1],
                         y=y[trace1],
                         mode='markers',
                         name='false',
                         marker=dict(color='red')))
fig.add_trace(go.Scatter(x=x[trace2],
                         y=y[trace2],
                         mode='markers',
                         name='true',
                         marker=dict(color='green')
                         ))                         
fig.show()