开新坑啦!之前都是晚上七点以后开始学习,今天上午把matplotlib中文显示的问题解决,就开始刷课了。第三部分开启。

老规矩,先上图

01绘制散点图

开篇老师上手一个一周天气的练习。

我跟着标注的数据来源,发现北京历史天气查询_北京历史天气预报_北京历史天气记录_北京历史气温_天气网  并没有这一串数组。只好手输入,这里数据自取,代码完善散点表细节后po出来。


#三月数据
y_3 = [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,23]#十月数据
y_10 = [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, 6]

散点图的绘制练习。代码自取,字体文件路径处需要自行修改。

# encoding:utf-8
# from ruby in 2019/09/03 15:43from matplotlib import pyplot as plt
from matplotlib import font_manager
my_font = font_manager.FontProperties(fname="C:/Windows/Fonts/XXX.ttc -这里放你系统里相放字体的路径+名称+文件类型")y_3 = [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,23]
y_10 = [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, 6]x_3 = range(1, 31)
x_10 = range(51, 82)
# 设置图形大小
plt.figure(figsize=(20, 8), dpi=80)# 使用sctter方法绘制散点图 和绘制其他图的唯一区别
plt.scatter(x_3, y_3,label="3月份")
plt.scatter(x_10, y_10,label="10月份")# 调整x轴的刻度
_x = list(x_3) + list(x_10)
_xtick_labels = ["3月{}日".format(i) for i in x_3]
_xtick_labels += ["10月{}日".format(i) for i in x_10]plt.xticks(_x[::3], _xtick_labels[::3], fontproperties=my_font,rotation=45)# 添加描述信息
plt.xlabel("时间",fontproperties= my_font)
plt.ylabel("温度",fontproperties= my_font)
plt.title("三月与十月的温度散点图",fontproperties= my_font)plt.legend(loc="upper left",prop=my_font)plt.show()

运行结果如下:

02绘制条形图

这里老师给的是2017的统计,为了回应现在的时间,所以选择2019的统计,数据链接:2019年总票房 - 电影票房排行榜 - 电影票房数据库

手动把这些排名录下来,还有另一个票房数组。需要自取。

# encoding:utf-8
# from ruby in 2019/09/03 16:32from matplotlib import pyplot as plt
from matplotlib import font_managermy_font = font_manager.FontProperties(fname="C:/Windows/Fonts/XX.ttc 老规矩 自己字体的文件")a = ["红海行动", "唐人街探案2", "我不是药神", "西虹市首富", "复仇者联盟3:\n无限战争", "捉妖记2", "海王", "毒液:\n致命守护者", "侏罗纪世界2","头号玩家", "后来的我们", "一出好戏", "无双", "碟中谍6:\n全面瓦解", "巨齿鲨", "狂暴巨兽", "超时空同居", "蚁人2:\n黄蜂女现身", "无名之辈", "无问西东"]b = [36.22, 33.71, 30.75, 25.27, 23.7, 22.19, 19.97, 18.56, 16.82, 13.85, 13.5, 13.44, 12.63, 12.34, 10.43, 9.94, 8.91,8.25, 7.88, 7.47]
# print(len(a))
# print(len(b))
plt.figure(figsize=(20, 15), dpi=80)# plt.bar(range(len(a)), b, width=0.3)
plt.barh(range(len(a)), b, height=0.3, color="orange")# plt.xticks(range(len(a)), a, fontproperties=my_font, rotation=60)
plt.yticks(range(len(a)), a, fontproperties=my_font)# plt.savefig("./movierank.png")
plt.grid(alpha=0.3)plt.show()

运行结果如下,可以看到,三张图,分别设置的。

接下来老师开始了新的练习,主要是做三天的票房,对比。

我的一个思路是:先画三个条形图(分别设red green yellow)X轴应该是电影 Y轴为票房 用颜色区分天数-不同的条形图 这样会更合适

我可以先尝试一下再跟老师,本来今天打算把这个听完就去整理专利的。忽然兴起,想完成这个练习。

尝试了一下,用了len*3操作,还是没法把图分开。没忍住,开始追课了,回家整理或者看专利吧。

还是没忍住,看了下一节。原来是x轴的设置,代码见下节。

03绘制多次条形图

# encoding:utf-8
# from ruby in 2019/09/03 20:25from matplotlib import pyplot as plt
from matplotlib import font_managermy_font = font_manager.FontProperties(fname="C:/Windows/Fonts/msyh.ttc")a = ["红海行动", "复仇者联盟3:\n无限战争", "毒液:\n致命守护者", "无问西东"]y_14 = [36.22, 19.97, 12.34, 7.47]
y_15 = [33.71, 30.75, 25.27, 19.97, ]
y_16 = [18.56, 13.44, 12.63, 7.47]bar_width = 0.2x_14 = list(range(len(a)))
x_15 = [i + bar_width for i in x_14]  # 这个做法我居然没有学会!
x_16 = [i + bar_width * 2 for i in x_14]plt.figure(figsize=(30, 15), dpi=80)# plt.bar(range(len(a)), b, width=0.3)
plt.bar(range(len(a)), y_14, width=bar_width, label="9月14日")
plt.bar(x_15, y_15, width=bar_width, label="9月15日")
plt.bar(x_16, y_16, width=bar_width, label="9月16日")plt.xticks(x_15, a, fontproperties=my_font)plt.legend(loc="upper left", prop=my_font)
plt.title("9月14日|15日|16日 三天票房")
plt.show()

关于条形图更多的应用场景:

  • 频次统计(市场饱和度)
  • 数量统计

05更多的绘图工具的了解

明天再来吧。

讲完这几个基本的图,老师开始总结常见问题及流程。

matplotlib使用的流程总结 :1.明确问题 2.选择图形的呈现方式 3.准备数据 4.绘图和图形完善

在公司的场景应用中,一般不直接用matplotlib去直接展示图,而是使用框架之类的,这里老师举了一个栗子“百度的E-chart”,之前项目遇到过。这里贴链接,感兴趣的小伙伴点进去自看。ECharts Demo

点开一个实例,看看详情。其实之前项目中也有遇见过这之类的需求,用到echart。整体体验来说还是不错的,修改部分代码参数就能展示出比较酷炫的效果。善用框架。

更多的绘图工具 - plotly 可视化工具中的github 相较于matplotlib更加简单。

R语言实现。图形更加漂亮,同时兼容matplotlib和pandas,对着文档写即可。

文档地址:https://plot.ly/python。

好,这部分就跟完了。

【数据分析与挖掘】数据分析学习及实践记录 | part 03-matplotlib常用统计图相关推荐

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

    文章目录 数据分析第三讲 matplotlib常用统计图 1.绘制散点图 2.绘制条形图 3.绘制直方图 4.绘制饼图 5. 绘制3D立体图形 5.1 3D曲线 5.2 3D散点图 5.3 3D平面图 ...

  2. MATLAB数据分析与挖掘 --数据预处理篇

    数据清洗 主要工作是删除原始数据集中的无关数据.重复数据.平滑噪声数据,筛选掉与挖掘主题无关的数据,处理缺失值.异常值等. 缺失值处理: 一般可删除记录.数据插补和不处理.数据插补常用方法如下: 其中 ...

  3. Python数据相关性分析实践记录

    数据分析是很多建模挖掘类任务的基础,也是非常重要的一项工作,在我之前的系列博文里面已经详细介绍过很多数据分析相关的内容和实践工作了,与之对应的最为常见的分析手段就是热力图可视化分析了,这里我简单给出来 ...

  4. 【数据分析】Python数据分析学习路线个人总结

    数据分析人人都有必要掌握一点,哪怕只是思维也行.下面探讨Python数据分析需要学习的知识范畴,结合自己的经历和理解,总结的学习大纲,有些章节带有解释,有些没有.当然,关于学习范畴,可能每个人的理解都 ...

  5. python数据分析与挖掘数据之探索数据

    文章目录 三.数据探索 数据质量分析 缺失值分析 异常值分析 一致性分析 数据特征分析 1.分布分析 2.对比分析 3.统计量分析 4.周期性分析 分析:总体来看,正常用户和窃电用户在2012年2月份 ...

  6. 数据科学库(HM)(Day2)——matplotlib常用统计图

    绘制散点图 from matplotlib import pyplot as plt from matplotlib import font_manager plt.rcParams['font.sa ...

  7. 《Python数据分析与挖掘实战》张良均,第一章学习笔记

    第一章从餐饮行业来引出数据挖掘 [有问题或错误,请私信我将及时改正:借鉴文章标明出处,谢谢] 刚开始讲到了T餐饮企业的管理系统(5个管理系统),因为多方面管理系统加强了此企业的信息化管理,提高了工作效 ...

  8. 《Python数据分析与挖掘实战》一3.1 数据质量分析

    本节书摘来自华章出版社<Python数据分析与挖掘实战>一书中的第3章,第3.1节,作者 张良均 王路 谭立云 苏剑林,更多章节内容可以访问云栖社区"华章计算机"公众号 ...

  9. 数据分析与挖掘实战-基于基站定位数据的商圈分析

    基于基站定位数据的商圈分析 背景 随着个人手机终端的普及,出行群体中手机拥有率和使用率已经达到相当高的比例,手机移动网络也基本上实现了城乡空间区域的全覆盖.根据手机信号在真实地理空间上的覆盖情况,将手 ...

最新文章

  1. 机器学习算法(优化)之一:梯度下降算法、随机梯度下降(应用于线性回归、Logistic回归等等)...
  2. 数据结构-堆 Java实现
  3. Java中的Math类和日期类详解
  4. 一个Lumen多层拆分手记
  5. C++信息学奥赛一本通_1020
  6. matlab如何根据历年gdp找增长规律,中国历年gdp数据图解 中国历年gdp增长率及人均GDP(1978年-2016年)...
  7. 什么方法可以显著提高程序员工作效率
  8. Windows下usb接口驱动技术(一)
  9. 高斯-勒让德求积公式及Matlab实现
  10. 操作系统的基本特征、区别及功能
  11. 删除磁盘管理中的OEM分区
  12. 【Practical】线性空间
  13. 股债收益模型 量化实战篇(一)
  14. 为什么用企业微信做运营
  15. 毕设之基金定投小程序
  16. ffmpeg常用库、术语、API、数据结构总结
  17. Mac OSX系统下安装和删除程序
  18. 多项式(Polynomial)的运算——利用单链表
  19. javax.imageio.IIOException: Can't read input file!的错解决方法
  20. Vue.js学习详细课程系列--共32节(4 / 6)

热门文章

  1. response.setheader无效的原因之一
  2. 支持向量机中所谓的支持向量究竟是什么?
  3. 飞机大战实现--c++
  4. Web开发模式的探讨
  5. 服务器上传,时间超时 tomcat 如何设置保持连接
  6. request与response的用法
  7. 自己动手写 H.264 解码器---AnnexB 和 avcC
  8. Android悬浮窗的实现
  9. Qt创建停靠悬浮窗口实例
  10. 使用pyTorch搭建自己的facenet