美文网首页
matplotlib 散点图和气泡图

matplotlib 散点图和气泡图

作者: 竞媒体 | 来源:发表于2021-01-05 17:49 被阅读0次

    matplotlib.pyplot.scatter的函数说明如下:

    matplotlib.pyplot.scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, verts=None, edgecolors=None, hold=None, data=None, **kwargs)
    
    

    常用参数有:x,y组成了散点的坐标;s为散点的面积;c为散点的颜色(默认为蓝色'b');marker为散点的标记;alpha为散点的透明度(0与1之间的数,0为完全透明,1为完全不透明);linewidths为散点边缘的线宽;如果marker为None,则使用verts的值构建散点标记;edgecolors为散点边缘颜色。
    其他参数如cmap为colormap;norm为数据亮度;vmin、vmax和norm配合使用用来归一化亮度数据

    可以把气泡图是一种特殊的散点图,散点图展示两个维度的数据,气泡图还可用通过气泡的大小和颜色展示数据。

    %python.ipython
    import pandas as pd
    import matplotlib.pyplot as plt
    import pandas as pd
    
    #第一组数据 
    d = {"time":pd.Series([2006,2007,2008,2009,2010]),
      "number":pd.Series([10,200,120,150,300]),
      "size":pd.Series([50,130,40,50,160]),
      "classification":pd.Series([1,2,0,1,2]),
      "judge":pd.Series([True,True,True,True,True])}
    df=pd.DataFrame(d)
    
    #第二组数据
    d1 = {"time":pd.Series([2006,2007,2008,2009,2010]),
      "number":pd.Series([20,30,140,190,35]),
      "size":pd.Series([80,140,40,50,150]),
      "classification":pd.Series([1,2,0,1,2]),
      "judge":pd.Series([True,True,True,True,True])}
    df1=pd.DataFrame(d1)
    
    #先定义气泡大小,rank 函数将大小列进行大小分配,越大的值分配结果也越高
    #n为倍数,用来调节气泡的大小
    size=df['size'].rank()
    n=60
     
    plt.figure(figsize=(14, 8), dpi= 100, facecolor='w', edgecolor='k')
    plt.gca().set(xlim=(0, 350), ylim=(0, 200), xlabel='number', ylabel='size')
    
    plt.xticks(fontsize=22)
    plt.yticks(fontsize=22)
    plt.title("scatter picture", fontsize=22)
    
    plt.scatter(df['number'],df['size'],color=[plt.cm.tab10(i) for i in df['classification']],s=size*n,alpha=0.6,marker='^',label="circle")
    plt.scatter(df1['number'],df1['size'],color=[plt.cm.tab10(i) for i in df1['classification']],s=size*n,alpha=0.4,marker='o',label="triangle")
    plt.grid(True)
    plt.legend()
    plt.savefig('/root/result.png')
    plt.show()
    
    scatter.jpg

    相关文章

      网友评论

          本文标题:matplotlib 散点图和气泡图

          本文链接:https://www.haomeiwen.com/subject/ssywoktx.html