AaLullaby 2021-04-05 13:58 采纳率: 0%
浏览 81

matplotlib画点

我现在有一组数据一共是三列:第一列是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()

    评论

报告相同问题?