我可以使用plot.scatter绘制多个x和y的图。但我不能用Seaborn.relplot绘制它,即使文档注意到“数据中的x,y向量‘或键’‘”
'''
df.plot.scatter(x=['U','S','L'], y=['UI','SI','LI']) /* this works well
sns.relplot(x=['U','S','L'], y=['UI','SI','LI'],data=df) /* this doesnt work well
'''错误消息显示"ValueError:如果使用所有标量值,则必须传递索引“。如何使用Seaborn.relplot绘制多个x和y图形?谢谢你的回复,这将是很大的帮助
R W L LI S SI U UI
0 AZ 1 300 3.173333 219 4.538813 129 7.263566
1 AZ 2 293 3.266212 224 4.446429 155 5.954839
2 AD 3 279 3.240143 212 4.481132 152 5.993421
3 AD 4 277 3.494585 199 4.567839 110 8.272727
4 AW 5 257 3.863813 211 4.725118 152 6.315789发布于 2021-01-29 03:29:56
将多个值传递给sns.relplot看起来是不可能的。
但作为一种解决方法,您可以使用sns.scatterplot连接多个散点图。
最小示例
import pandas as pd
import seaborn as sns
df = pd.DataFrame({'R':['AZ', 'AZ', 'AD', 'AD', 'AW'],
'W':[1,2,3,4,5],
'L':[300,293,279,277,257],
'LI':[3.173333, 3.266212, 3.240143, 3.494585, 3.863813],
'S':[219,224,212, 199, 211],
'SI':[4.538813,4.446429, 4.481132, 4.567839, 4.725118],
'U':[129, 155, 152, 110, 152],
'UI':[7.263566, 5.954839, 5.993421, 8.272727, 6.315789]
})
g = sns.FacetGrid(df, height=5)
for x, y, c in zip(['U','S','L'],['UI','SI','LI'], ['r', 'g', 'b']):
g.map(sns.scatterplot, x, y, color=c)
g.set_axis_labels('[U, S, L]', '[UI, SI, LI]')输出

评论
我不知道这是不是你想要的。请给我一些反馈。
https://stackoverflow.com/questions/65941894
复制相似问题