美文网首页
11.散点图&折线图&饼图

11.散点图&折线图&饼图

作者: 李慕玄 | 来源:发表于2018-07-08 08:41 被阅读0次

    1.散点图

    以一个变量为横坐标,另一个变量为纵坐标,利用散点(坐标点)的分布形态反映变量关系的图形。

    用于探索数值型变量数据之间关系,传递变量间关系类型的信息,反映变量间关系的明确程度,与相关分析、回归分析结合使用。

    散点图绘图函数

    plot(x, y, '.', color=(r, g, b))
    
    • x, y, :X轴和Y轴的序列
    • '.'、'o':小点还是大点
    • color:散点图颜色,用RGB或英文字母定义

    RGB颜色的设置

    • red:红色组成部分
    • green:绿色组成部分
    • blue:蓝色组成部分

    常用RGB颜色对应表


    屏幕快照 2018-07-08 06.48.15.png
    import pandas
    import numpy
    import matplotlib
    import matplotlib.pyplot as plt
    
    data = pandas.read_csv(
        '/users/bakufu/desktop/6.1/data.csv'        
    )
    
    #1表示透明度
    mainColor = (42/256, 87/256, 141/256, 1)
    
    font = {
        'size': 14,
        'family': 'Microsoft YaHei Mono'
    }
    
    matplotlib.rc('font', **font)
    
    #%matplotlib qt
    
    #plt.grid(True)
    

    小点的散点图

    plt.xlabel('广告费用', color=mainColor)
    plt.ylabel('购买用户数', color=mainColor)
    plt.tick_params(axis='x', colors=mainColor)
    plt.tick_params(axis='y', colors=mainColor)
    plt.plot(
        data['广告费用'],
        data['购买用户数'],
        '.', color=mainColor        
    )
    
    屏幕快照 2018-07-08 07.21.38.png

    大点的散点图

    plt.xlabel('广告费用', color=mainColor)
    plt.ylabel('购买用户数', color=mainColor)
    plt.tick_params(axis='x', colors=mainColor)
    plt.tick_params(axis='y', colors=mainColor)
    plt.plot(
        data['广告费用'],
        data['购买用户数'],
        'o', color=mainColor        
    )
    
    屏幕快照 2018-07-08 07.21.51.png
    #',' 像素点的散点图
    plt.plot(
        data['购买日期'],
        data['购买用户数'],
        ',', color=mainColor        
    )
    
    #'v' 下三角标记的散点图
    plt.plot(data['购买日期'], data['购买用户数'], 'v')
    #'^' 上三角标记的散点图
    #'<' 左三角标记的散点图
    #'>' 右三角标记的散点图
    
    #'1' 伞形下标记的散点图
    plt.plot(data['购买日期'], data['购买用户数'], '1')
    #'2' 伞形上标记的散点图
    #'3' 伞形左标记的散点图
    #'4' 伞形右标记的散点图
    
    #'s'    正方形标记的散点图
    #'p'    五角形标记的散点图
    #'*'    五角星标记的散点图
    #'h'    多边形标记的散点图
    #'H'    hexagon2 marker
    #'+'    plus marker
    #'x'    x marker
    #'D'    diamond marker
    #'d'    thin_diamond marker
    #'|'    vline marker
    #'_'    hline marker
    

    2.折线图

    即趋势图,用直线段将各数据点连接起来而组成的图形,以折线方式显示数据的变化趋势。适合用于时间趋势的绘图。

    折线图绘图函数

    plot(x, y, style, color, linewidth)
    title('图的标题')
    
    • style:画线的样式
    • color:画线的颜色
    • linewidth:线的宽度

    plot函数的style参数意义表

    参数值 注释
    - 连续的曲线
    -- 连续的虚线
    -. 连续的用带点的曲线
    : 由点连成的曲线
    . 小点,散点图
    o 大点,散点图
    , 像素点,散点图
    * 五角星的点,散点图
    import pandas
    import matplotlib
    from matplotlib import pyplot as plt
    
    data = pandas.read_csv(
        '/users/bakufu/desktop/6.2/data.csv'        
    )
    
    #对日期格式进行转换
    data['购买日期'] = pandas.to_datetime(
        data['日期']        
    )
    
    mainColor = (42/256, 87/256, 141/256, 1)
    
    font = {
        'family': 'Microsoft YaHei Mono',
        'size': 12
    }
    
    matplotlib.rc('font', **font)
    
    #%matplotlib qt
    
    plt.xlabel(
        '购买日期',
        color=mainColor        
    )
    plt.ylabel(
        '购买用户数',
        color=mainColor        
    )
    plt.tick_params(
        axis='x',
        color=mainColor    
    )
    
    image.png
    #'-' 顺滑的曲线
    plt.plot(
        data['购买日期'],
        data['购买用户数'],
        '-', color=mainColor    
    )
    plt.title('购买用户数')
    plt.show()
    
    image.png
    #设置线条粗细
    plt.plot(
        data['购买日期'],
        data['购买用户数'],
        '-', color=mainColor,
        linewidth=5      
    )
    
    image.png
    #'--' 虚线
    plt.plot(
            data['购买日期'],
            data['购买用户数'],
            '--', color=mainColor
    )
    
    image.png
    #'-.' 线加点
    plt.plot(
            data['购买日期'],
            data['购买用户数'],
            '-.', color=mainColor
    )
    
    image.png
    #':' 由点组成的曲线
    plt.plot(
            data['购买日期'],
            data['购买用户数'],
            ':', color=mainColor
    )
    
    image.png

    饼图

    用于反映个体与总体的比例关系。

    饼图绘图函数

    pie(x, labels, colors, explode, autopct)
    
    • x:进行绘图的序列
    • labels:饼图各部分的标签序列
    • colors:饼图各部分的颜色(RGB)
    • explode:需要突出的块状序列
    • autopct:饼图占比的显示格式,%.2f保留两位小数
    import numpy
    import pandas
    import matplotlib
    import matplotlib.pyplot as plt
    import matplotlib.font_manager as font_manager
    
    #%matplotlib qt
    #设置不在交互式命令行绘图,在弹出新的窗口绘图
    
    data = pandas.read_csv(
        '/users/bakufu/desktop/6.3/data.csv'        
    )
    
    result = data.groupby(
        by=['通信品牌'],
        as_index=False        
    )['号码'].agg({
        '用户数': numpy.size        
    })
    Out[21]: 
       通信品牌    用户数
    0   全球通     1209
    1  动感地带    11838
    2   神州行     18355
    
    #设置长宽分辨率
    plt.figure(figsize=(30, 30), dpi=80)
    
    #设置字体
    font = {
        'family': 'Microsoft YaHei Mono',
        'size': 20      
    }
    Out[24]:
    {'family': 'Microsoft YaHei Mono', 'size': 20}
    
    matplotlib.rc('font', **font)
    
    #设置为横轴和纵轴等长的饼图,即圆形饼图
    plt.axis('equal')
    plt.pie(
        result['用户数'],
        labels=result['通信品牌'],
        autopct='%.2f%%'
    )
    
    image.png
    #设置突出的部分
    explode = (0.1, 0.2, 0.3)
    plt.axis('equal')
    plt.pie(
        result['用户数'],
        labels=result['通信品牌'],
        autopct='%0.2f%%',
        explode=explode,
        startangle=67
    )
    
    plt.show()
    
    image.png

    相关文章

      网友评论

          本文标题:11.散点图&折线图&饼图

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