我正在尝试为每个点创建具有不同颜色的散点图。我尝试过:
df.plot.scatter(x='x',y='y',c=df.colors.tolist(), legend=True)
我得到了散点图。但是我无法显示标签“ Financials”与颜色“#4ce068”相关联。
我该怎么办?谢谢
我尝试过:
df.plot.scatter(x='x',y='y',c=df.colors.tolist(),label=df.key.unique.tolist())
这几乎可以用,但是标签太多,与标签相关的颜色很难看清。
我希望按键显示具有相关的颜色,最好在图表的顶部,即标题旁边。有可能吗?
My dataframe in dictionary format:
{'key': {0: 'Financials',
1: 'Consumer Discretionary',
2: 'Industrials',
3: 'Communication Services',
4: 'Communication Services',
5: 'Consumer Discretionary',
6: 'Health Care',
7: 'Information Technology',
8: 'Consumer Discretionary',
9: 'Information Technology'},
'x': {0: 1630000.0,
1: 495800000.0,
2: 562790000.0,
3: 690910000.0,
4: 690910000.0,
5: 753090000.0,
6: 947680000.0,
7: 1010000000.0,
8: 1090830000.0,
9: 1193600000.0},
'y': {0: 0.02549175,
1: 0.0383163,
2: -0.09842154,
3: 0.03876266,
4: 0.03596279,
5: 0.01897367,
6: 0.06159238,
7: 0.0291209,
8: 0.003931255,
9: -0.007134976},
'colors': {0: '#4ce068',
1: '#ecef4a',
2: '#ff3c83',
3: '#ff4d52',
4: '#ff4d52',
5: '#ecef4a',
6: '#00f1d1',
7: '#d9d9d9',
8: '#ecef4a',
9: '#d9d9d9'}}
答案 0 :(得分:3)
如果您不介意使用plotly
,可以尝试
import pandas as pd
import plotly.express as px
px.scatter(df, 'x', 'y', color="key", color_discrete_sequence=df["colors"].tolist())
但是考虑到您选择的颜色,px.scatter(df, 'x', 'y', color="key")
看起来会更好
答案 1 :(得分:1)