使用 plotly 按列名称着色
color by a column name using plotly
我有以下格式的数据框:
id distance value is_match
1 234 0.8 True
2 314 0.5 False
3 904 0.1 False
4 123 0.4 False
5 287 0.9 True
我尝试使用 plotly 绘制它。 X 轴将具有“距离”,Y 轴将具有“值”并使用“is_match”为圆圈着色。使用以下代码:
import plotly.express as px
px.scatter(df, x='distance', y='value', color='is_match')
但这不会根据“is_match”列对颜色代码进行着色。
如有线索,我们将不胜感激。
- 工作正常。根据您样本的评论生成了更大的数据集
- 当点数为 10**5 时,第二条迹线 (True) 占主导地位,因为它高于第一条迹线 (False)
import io
import pandas as pd
import numpy as np
import plotly.express as px
df = pd.read_csv(io.StringIO("""id distance value is_match
1 234 0.8 True
2 314 0.5 False
3 904 0.1 False
4 123 0.4 False
5 287 0.9 True """), sep="\s+")
ROWS = 10**4
df = pd.DataFrame({"distance":np.random.randint(df["distance"].min(), df["distance"].max(), ROWS),
"value":np.random.uniform(df["value"].min(), df["value"].max(), ROWS),
"is_match":np.random.randint(0,2,ROWS).astype(bool)})
px.scatter(df, x='distance', y='value', color='is_match')
我有以下格式的数据框:
id distance value is_match
1 234 0.8 True
2 314 0.5 False
3 904 0.1 False
4 123 0.4 False
5 287 0.9 True
我尝试使用 plotly 绘制它。 X 轴将具有“距离”,Y 轴将具有“值”并使用“is_match”为圆圈着色。使用以下代码:
import plotly.express as px
px.scatter(df, x='distance', y='value', color='is_match')
但这不会根据“is_match”列对颜色代码进行着色。
如有线索,我们将不胜感激。
- 工作正常。根据您样本的评论生成了更大的数据集
- 当点数为 10**5 时,第二条迹线 (True) 占主导地位,因为它高于第一条迹线 (False)
import io
import pandas as pd
import numpy as np
import plotly.express as px
df = pd.read_csv(io.StringIO("""id distance value is_match
1 234 0.8 True
2 314 0.5 False
3 904 0.1 False
4 123 0.4 False
5 287 0.9 True """), sep="\s+")
ROWS = 10**4
df = pd.DataFrame({"distance":np.random.randint(df["distance"].min(), df["distance"].max(), ROWS),
"value":np.random.uniform(df["value"].min(), df["value"].max(), ROWS),
"is_match":np.random.randint(0,2,ROWS).astype(bool)})
px.scatter(df, x='distance', y='value', color='is_match')