我现在有一组数据一共是三列:第一列是id 第二三列分别是x,y坐标。现在我想用matplotlib把这些点画出来,并根据前面的id进行分类显示,相同id的点用同一种颜色表示出来。求大佬我应该怎么操作呢。
3条回答 默认 最新
- 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()
解决 无用评论 打赏 举报
悬赏问题
- ¥15 Vue3 大型图片数据拖动排序
- ¥15 划分vlan后不通了
- ¥15 GDI处理通道视频时总是带有白色锯齿
- ¥20 用雷电模拟器安装百达屋apk一直闪退
- ¥15 算能科技20240506咨询(拒绝大模型回答)
- ¥15 自适应 AR 模型 参数估计Matlab程序
- ¥100 角动量包络面如何用MATLAB绘制
- ¥15 merge函数占用内存过大
- ¥15 使用EMD去噪处理RML2016数据集时候的原理
- ¥15 神经网络预测均方误差很小 但是图像上看着差别太大