• Matplotlib_常用图表


    Matplotlib绘图一般用于数据可视化

    1.常用的图表有:

    • 折线图(坐标系图)
    • 散点图/气泡图
    • 条形图/柱状图
    • 饼图
    • 直方图
    • 箱线图
    • 热力图

    折线图(坐标系图)

    折线图用于显示随时间或有序类别的变化趋势

    #载入matplotlib绘图库
    import matplotlib.pyplot as plt
    
    # 绘制一条线时,x轴可以省略,默认用y轴数据的索引代替
    plt.plot([0,2,4,6,8]) # 默认Y轴坐标
    
    plt.plot([0,2,4,6,8],[1,5,3,9,7]) # X轴坐标值,Y轴坐标值
    
    plt.show() #显示图片

    线条和标记节点样式

    标记字符:标记线条中的点

    • 线条颜色,color='g'
    • 线条风格,linestyle='--'
    • 线条粗细,linewidth=5.0
    • 标记风格,marker='o'
    • 标记颜色,markerfacecolor='b'
    • 标记尺寸,markersize=20
    • 透明度,alpha=0.5

    线条和标记节点格式字符

    • 如果不设置颜色,系统默认会取一个不同颜色来区别线条
    • 图像打印时,黑白打印机不能区分颜色,需要风格区分

    折线图案例:2017年7月国际外汇

    时间    收盘价
    2017年7月3日    6.8007
    2017年7月4日    6.8007
    2017年7月5日    6.8015
    2017年7月6日    6.8015
    2017年7月7日    6.8060
    2017年7月10日    6.8036
    2017年7月11日    6.8025
    2017年7月12日    6.7877
    2017年7月13日    6.7835
    2017年7月14日    6.7758
    2017年7月17日    6.7700
    2017年7月18日    6.7463
    2017年7月19日    6.7519
    2017年7月20日    6.7595
    2017年7月21日    6.7669
    2017年7月24日    6.7511
    2017年7月25日    6.7511
    2017年7月26日    6.7539
    2017年7月27日    6.7430
    2017年7月28日    6.7374
    2017年7月31日    6.7265

    import matplotlib.pyplot as plot
    date = [3,4,5,6,7,10,11,12,13,14,17,18,19,20,21,24,25,26,27,28,31]
    eurcny = [6.8007, 6.8007, 6.8015, 6.8015, 6.8060, 6.8036, 6.8025, 6.7877, 6.7835, 6.7758, 6.7700, 6.7463, 6.7519, 6.7595, 6.7669, 6.7511, 6.7511, 6.7539, 6.7430, 6.7374, 6.7265]
    
    plot.plot(
        date, #X坐标
        eurcny, #Y坐标
        
        color = '#00ff00', #折线颜色
        linestyle = '--',
        linewidth = 2,
        
        marker = 'o', #节点样式
        markerfacecolor = '#00FFFF', #节点颜色
        markersize = 5,
        
        alpha = 0.5, #透明色
        
    )
    plot.show()

    散点图

    散点图表示多组数据之间的相关性

    import matplotlib.pyplot as plot
    x = [1,3,5,7,9,11,13,15,17]
    y = [2,-5,19,3,5,8,12,6,1]
    
    plot.scatter(
        x,
        y,
    )
    plot.show()

    import matplotlib.pyplot as plot

    x = [1,3,5,7,9,11,13,15,17] y = [2,-5,19,3,5,8,12,6,1] plot.scatter( x, y, # 散点大小 s = [1,10,30,60,100,300,500,800,1000], color = 'r', marker = 'H', linewidth = 10, alpha = 0.3, ) #折线图 plot.plot([1,3,9,2,5,4,1,5,9,12,30,22,1,5,10]) plot.show()

    案例:可视化居民年龄/收入和超市销售额的对应关系

    年龄    收入    销售额
    34    350    123
    40    450    114
    37    169    135
    30    189    139
    44    183    117
    36    80    121
    32    166    133
    26    120    140
    32    75    133
    36    40    133
    

    找出:

    • 客户年龄和销售额的关系
    • 客户收入和销售额的关系
    #年龄
    age = [34, 40, 37, 30, 44, 36, 32, 26, 32, 36]
    #收入
    income = [350, 450, 169, 189, 183, 80, 166, 120, 75, 40]
    #销售额
    sales = [123, 114, 135, 139, 117, 121, 133, 140, 133, 133]
    
    plot.scatter(
        age,
        sales,
    
    )
    plot.show()
    
    plot.scatter(
        income,
        sales,
    
    )
    plot.show()
    
    #x轴,y轴 ,点大小,三个维度
    plot.scatter(
        age,
        sales,
        s = income,
    )
    
    plot.show()

  • 相关阅读:
    setTimeout详解
    【康娜的线段树】
    【[CQOI2016]手机号码】
    【[IOI2014]Wall 砖墙】
    【[1007]梦美与线段树】
    【[POI2010]ANT-Antisymmetry】
    【[HEOI2016/TJOI2016]排序】
    【[SCOI2016]背单词】
    【[HNOI2008]GT考试】
    【[JSOI2007]建筑抢修】
  • 原文地址:https://www.cnblogs.com/doitjust/p/9275923.html
Copyright © 2020-2023  润新知