推广 热搜: 行业  机械  设备    系统  教师  经纪  参数    蒸汽 

数据分析 第三讲 matplotlib常用统计图

   日期:2024-11-10     移动:http://dgaty.xhstdz.com/mobile/quote/66161.html

数据分析  第三讲 matplotlib常用统计图

在这里插入图片描述

1.绘制散点图

使用的方法:scatter(x,y) 在这里插入图片描述 假设通过爬虫你获取到了长沙2018年10,11月份每天白天的最高气温(分别位于列表a,b),那么 此时如何寻找出气温和随时间变化的某种规律 a = [11,17,16,11,12,11,12,6,6,7,8,9,12,15,14,17,18,21,16,17,20,14,15,15,15,19,21,22,22,22,23] b = [26,26,28,19,21,17,16,19,18,20,20,19,22,23,17,20,21,20,22,15,11,15,5,13,17,10,11,13,12,13]

 

2.绘制条形图

  • 2.1使用的方法:bar(x,y) 在这里插入图片描述 假设你获取到了2019年内地电影票房前20的电影(列表a)和电影票房数据(列表b),那么如何更加直观 的展示该数据 a = [“流浪地球”,“复仇者联盟4:终局之战”,“哪吒之魔童降世”,“疯狂的外星人”,“飞驰人生”,“蜘蛛侠:英 雄远征”,“扫毒2天地对决”,“烈火英雄”,“大黄蜂”,“惊奇队长”,“比悲伤更悲伤的故事”,“哥斯拉2:怪兽之 王”,“阿丽塔:战斗天使”,“银河补习班”,“狮子王”,“反贪风暴4”,“熊出没”,“大侦探皮卡丘”,"新喜剧之王 ",“使徒行者2:谍影行动”,] b = [56.01,26.94,17.53,16.49,15.45,12.96,11.8,11.61,11.28,11.12,10.49,10.3,8.75,7.55,7.32,6.99,6.88, 6.86,6.58,6.23]
  • 示例1
 

在这里插入图片描述

  • 2.2绘制横向条形图 使用的方法:barh(x,y) 在这里插入图片描述 把x轴横过来:查看源码,** def barh(self, y, width, height=0.8, left=None, *, align=“center”, kwargs): r""" Make a horizontal bar plot. 在这里插入图片描述 更改plt.bar(x,y)为plt.barh(x,y),删除rotation=45和x数据里面的 更改plt.xticks(range(len(x)),x,fontproperties=font)为plt.yticks(range(len(x)),x,fontproperties=font) 代码和效果如下
 

在这里插入图片描述 要实现排名高的前面: 更改plt.barh(x[::-1],y[::-1]),将x和y数据反转 更改plt.yticks(range(len(x)),x,fontproperties=font) 为 plt.yticks(range(len(x)),x[::-1],fontproperties=font) 代码、效果如下

 

在这里插入图片描述

  • 2.3 绘制多条条形图 如何在一张图里绘制多个条形图? x1 = [1,3,5,7,9] data1 = [5,2,7,8,2] x2 = [1,3,5,7,9] data2 = [8,6,2,5,6]
  • 示例
 

在这里插入图片描述 解决办法1:import numpy as np,x2 = np.array(x1) + 1 解决办法2:使用列表推导式 代码、效果如下

 

在这里插入图片描述

  • 条形图练习 假设你知道了列表a中电影分别在2017-09-14(b_14),2017-09-15(b_15),2017-09-16(b_16)三天的票房, 为了展示列表中电影本身的票房以及同其他电影的数据对比情况,应该如何更加直观的呈现该数 据 a = [‘流浪地球’,‘复仇者联盟4’,‘哪吒之魔童降世’,‘疯狂的外星人’] b_14 = [2358,399,2358,362] b_15 = [12357,156,2045,168] b_16 = [15746,312,4497,319]
 

在这里插入图片描述

3.绘制直方图

  • 类似于柱状图
  • 通过将数组组合在一起来显示分布
  • 使用的方法:hist(x,bins) 组数:将数据分组,当数据在100个以内时,按数据多少常分5-12组 组距:指每个小组的两个端点的距离 组数 = 极差/组距 极差=>max(a)-min(a) 组距=>78到81 组距3
  • 示例
 

在这里插入图片描述 频率图代码、效果如下

 

在这里插入图片描述

4.绘制饼图

plt.pie() 绘制饼图 练习:统计5个国家每年人口的变化情况

 

在这里插入图片描述

5. 绘制3D立体图形

mplot3d:matplotlib里用于绘制3D图形的一个模块 主要通过Axes3D完成3D绘图 3D绘图步骤 1.创建3D图像画布 2.通过ax绘制图像

5.1 3D曲线

Axes3D.plot(xs,ys,zs,zdir) xs,ys,zs:点的三维坐标 zdir:竖直轴,默认为z 在这里插入图片描述

 

在这里插入图片描述

5.2 3D散点图

Axes3D.scatter(xs,ys,zs,zdir,s,c,marker) s:点的大小 c:点的颜色 marker:点的标记 在这里插入图片描述

 

在这里插入图片描述

5.3 3D平面图
 

在这里插入图片描述

6.子图的使用

  • plt.subplots(nrows,ncols,sharex,sharey) nrows,ncols 分割的行数和列数 sharex,sharey 是否共享x轴、y轴

在这里插入图片描述

  • 示例
 

在这里插入图片描述

添加参数设置共享x轴:fig,suplot_arr = plt.subplots(2,2,figsize=(8,8),sharex=True) # 共享x轴 效果如下在这里插入图片描述

添加参数设置共享y轴:fig,suplot_arr = plt.subplots(2,2,figsize=(8,8),sharey=True) # 共享y轴 效果如下在这里插入图片描述

7.matplotlib常见问题总结

  1. 应该选择那种图形来呈现数据
  2. matplotlib.plot(x,y)
  3. matplotlib.bar(x,y)
  4. matplotlib.scatter(x,y)
  5. matplotlib.hist(data,bins,normed)
  6. xticks和yticks的设置
  7. label和title,grid的设置
  8. 绘图的大小和保存图片

8.matplotlib使用的流程总结

本文地址:http://dgaty.xhstdz.com/quote/66161.html    物流园资讯网 http://dgaty.xhstdz.com/ , 查看更多

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


0相关评论
相关最新动态
推荐最新动态
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号