我现在有一组数据一共是三列:第一列是id 第二三列分别是x,y坐标。现在我想用matplotlib把这些点画出来,并根据前面的id进行分类显示,相同id的点用同一种颜色表示出来。求大佬我应该怎么操作呢。
4条回答 默认 最新
CSDN专家-孙老师 2021-04-05 14:43关注有两种方式可以实现,例如,有以下数据。
import seaborn as sns sns.set(style="darkgrid") tips = sns.load_dataset("tips") tips.head()
关注前三列:total_bill,tip,sex,这里total相当于x,tip相当于y,sex相当于id。
第一种方式:seaborn,一行代码即可。
sns.relplot(x="total_bill", y="tip", hue="sex", data=tips);
第二种方式:matplotlib。
x=tips['total_bill'] y=tips['tip'] c_label=[1 if i=='Female' else 0 for i in tips['sex']] c_label[:10] import matplotlib.pyplot as plt fig,ax=plt.subplots() ax.scatter(x,y,c=c_label,cmap='autumn') plt.show()
解决 无用评论 打赏 举报