文章目录

  • 一、常用统计图对比
  • 二、绘制散点图
  • 三、绘制条形图
    • 1.要点
    • 2.代码样例
    • 3.绘制多次条形图
  • 四、绘制直方图
  • 五、matplotlib使用的流程总结
  • 六、其他绘图工具

一、常用统计图对比

二、绘制散点图

plt.scatter(x,y)
应用:
不同条件(维度)之间的内在关联关系
观察数据的离散聚合程度

# coding=utf-8
from matplotlib import pyplot as plt
from matplotlib import font_managermy_font = font_manager.FontProperties(fname="/System/Library/Fonts/Hiragino Sans GB.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,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,32)
x_10 = range(51,82)#设置图形大小
plt.figure(figsize=(20,8),dpi=80)#使用scatter方法绘制散点图,和之前绘制折线图的唯一区别
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-50) for i in x_10]
plt.xticks(_x[::3],_xtick_labels[::3],fontproperties=my_font,rotation=45)#添加图例
plt.legend(loc="upper left",prop=my_font)#添加描述信息
plt.xlabel("时间",fontproperties=my_font)
plt.ylabel("温度",fontproperties=my_font)
plt.title("标题",fontproperties=my_font)
#展示
plt.show()

三、绘制条形图

1.要点


应用:
数量统计
频率统计(市场饱和度)

2.代码样例

# coding=utf-8
from matplotlib import pyplot as plt
from matplotlib import font_manager
my_font = font_manager.FontProperties(fname="/System/Library/Fonts/Hiragino Sans GB.ttc")a = ["战狼2","速度与激情8","功夫瑜伽","西游伏妖篇","变形金刚5:最后的骑士","摔跤吧!爸爸","加勒比海盗5:死无对证","金刚:骷髅岛","极限特工:终极回归","生化危机6:终章","乘风破浪","神偷奶爸3","智取威虎山","大闹天竺","金刚狼3:殊死一战","蜘蛛侠:英雄归来","悟空传","银河护卫队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]#设置图形大小
plt.figure(figsize=(20,15),dpi=80)
#绘制条形图
plt.bar(range(len(a)),b,width=0.3)
#设置字符串到x轴
plt.xticks(range(len(a)),a,fontproperties=my_font,rotation=90)plt.savefig("./movie.png")plt.show()
#绘制横着的条形图
from matplotlib import pyplot as plt
from matplotlib import font_manager
my_font = font_manager.FontProperties(fname="/System/Library/Fonts/Hiragino Sans GB.ttc")a = ["战狼2","速度与激情8","功夫瑜伽","西游伏妖篇","变形金刚5:最后的骑士","摔跤吧!爸爸","加勒比海盗5:死无对证","金刚:骷髅岛","极限特工:终极回归","生化危机6:终章","乘风破浪","神偷奶爸3","智取威虎山","大闹天竺","金刚狼3:殊死一战","蜘蛛侠:英雄归来","悟空传","银河护卫队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]#设置图形大小
plt.figure(figsize=(20,8),dpi=80)
#绘制条形图
plt.barh(range(len(a)),b,height=0.3,color="orange")
#设置字符串到x轴
plt.yticks(range(len(a)),a,fontproperties=my_font)plt.grid(alpha=0.3)
# plt.savefig("./movie.png")plt.show()

3.绘制多次条形图

# coding=utf-8
from matplotlib import pyplot as plt
from matplotlib import font_manager
my_font = font_manager.FontProperties(fname="/System/Library/Fonts/Hiragino Sans GB.ttc")a = ["猩球崛起3:终极之战","敦刻尔克","蜘蛛侠:英雄归来","战狼2"]
b_16 = [15746,312,4497,319]
b_15 = [12357,156,2045,168]
b_14 = [2358,399,2358,362]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=(20,8),dpi=80)plt.bar(range(len(a)),b_14,width=bar_width,label="9月14日")
plt.bar(x_15,b_15,width=bar_width,label="9月15日")
plt.bar(x_16,b_16,width=bar_width,label="9月16日")#设置图例
plt.legend(prop=my_font)#设置x轴的刻度
plt.xticks(x_15,a,fontproperties=my_font)plt.show()

Bar_width是个乘以3比1小的数,也就是小于0.33

四、绘制直方图



一般来说能够使用plt.hist方法的的是那些没有统计过的数据
应用:
用户的年龄分布状态
一段时间内用户点击次数的分布状态
用户活跃时间的分布状态

五、matplotlib使用的流程总结

  1. 明确问题
  2. 选择图形的呈现方式
  3. 准备数据
  4. 绘图和图形完善
    matplotlib支持的图形是非常多的,如果有其他的需求,可以查看一下url地址:
    http://matplotlib.org/gallery/index.html

六、其他绘图工具

plotly:可视化工具中的github,相比于matplotlib更加简单,图形更加漂亮,同时兼容matplotlib和pandas

使用用法:简单,照着文档写即可

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

机器学习-数据科学库(第2节)相关推荐

  1. 机器学习-数据科学库-day6

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 机器学习-数据科学库-day6 pandas学习 动手练习 pandas中的时间序列 生成一段时间范围 关于频率的更多缩写 在Data ...

  2. 机器学习-数据科学库-day5

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 机器学习-数据科学库-day5 pandas学习 pandas之DataFrame pandas常用统计方法 将字符串离散化 数据合并 ...

  3. 机器学习-数据科学库-day1

    机器学习-数据科学库-day1 机器学习-数据科学库-day1 matplotlib 机器学习-数据科学库-day1 数据分析课程包括: 基础概念与环境 matplotlib numpy pandas ...

  4. 机器学习-数据科学库:matplotlib绘图

    机器学习-数据科学库:matplotlib绘图 matplotlib绘图 matplotlib折线图 matplotlib散点图 matplotlib条形图 matplotlib直方图 对比常用统计图 ...

  5. 机器学习-数据科学库:Pandas总结(1)

    机器学习-数据科学库:Pandas总结(1) Pandas pandas的常用数据类型 pandas之Series创建 pandas之Series切片和索引 pandas之读取外部数据 pandas之 ...

  6. HuaPu在学:机器学习——数据科学库【matplotlib】

    数据科学库[matplotlib] 文章目录 数据科学库[matplotlib] 前言 一.数据分析介绍及环境安装 1.为什么要数据分析??? 2.环境安装 二.matplotlib 1.为什么学习m ...

  7. 机器学习-数据科学库(第三天)

    14.numpy的数组的创建 什么是numpy 一个在Python中做科学计算的基础库,重在数值计算,也是大部分PYTHON科学计算库的基础库,多用于在大型.多维数组上执行数值运算(数组就是列表.列表 ...

  8. 机器学习-数据科学库(第六天)

    37.pandas时间序列01 现在我们有2015到2017年25万条911的紧急电话的数据,请统计出出这些数据中不同类型的紧急情况的次数,如果我们还想统计出不同月份不同类型紧急电话的次数的变化情况, ...

  9. 机器学习-数据科学库(第五天)

    31.数据的合并和分组聚合--字符串离散化的案例 字符串离散化的案例 刚刚我们学会了数据分合并,那么接下来,我们按照电影分类(genre)信息把数据呈现出来 import numpy as np im ...

最新文章

  1. 6月机器学习热文TOP10,精选自1400篇文章
  2. 开源中国iOS客户端学习——(一)Prefix.pch文件
  3. openssl生成https证书
  4. 聊聊storm的AggregateProcessor的execute及finishBatch方法
  5. android java.nio.charset.MalformedInputException: Input length = 1
  6. PHP 函数dirname()使用实例
  7. 做一个”合格“的程序员(二)——学习管理
  8. BIETLOLTP之概念熟悉
  9. OsharpNS轻量级.net core快速开发框架简明入门教程-代码生成器的使用
  10. 程序员夏天格子衫,冬天穿什么?
  11. 故宫首开夜场门票秒空官网崩溃:7本书让网站挺住
  12. ROS学习笔记(一)——软件版本的选择
  13. java se ee me 区别_JDK与Java SE/EE/ME的区别
  14. ai/ml_本月有关AI / ML的令人印象深刻的中等文章
  15. 如何在企业微信网页授权链接中加入自定义参数
  16. 谷歌显示不安全连接到服务器,谷歌浏览器提示不安全怎么办
  17. PHP地图规划骑行路径,规划结果 + 骑行路线绘制
  18. promise跟ajax区别,Promise和AJAX有什么区别?
  19. Dubbo 3.0新特性记录
  20. Ubuntu 18 永久设置分辨率1920x1080

热门文章

  1. wxParse多数据循环使用方法
  2. python使用datetime并格式插入MySQL
  3. fifa15服务器位置,fifa15新手攻略菜单及设置说明
  4. 【文献精读】HeadFi: Bringing Intelligence to All Headphones
  5. iOS应用如何防止被反编译
  6. codeforces 630K - Indivisibility
  7. 计算机组装维护的知识点,计算机组装和维修-知识点总结.doc
  8. 活动|苏宁撒钱送你30元,先到先得!千万别错过
  9. 计算机主机的主要功能是什么,电脑cpu是什么解析 电脑cpu基本功能【详解】
  10. Keil5安装教程(C51与MDK共存)