'''
Matplotlib 是一个Python的 2D绘图库。通过 Matplotlib,开发者可以仅需要几行代码,
便可以生成绘图,直方图,功率谱,条形图,错误图,散点图等。
通过学习Matplotlib,可让数据可视化,更直观的真实给用户。
使数据更加客观、更具有说服力。 Matplotlib是Python的库,又是开发中常用的库。
'''
#绘制折线
#导入模块matplotlib的pyplot模块
import matplotlib.pyplot as plt
x=[1,3,5,6,7]
y=[1,4,9,16,23]
#进行绘制
#plt.plot([1,3],[2,4])
plt.plot(x, y)
#进行展示
plt.show()
'''
绘制折线格式图形
'''
#导入模块
import matplotlib.pyplot as plt
#提供x,y的坐标
x = [2,5,7,9,13]
y = [4,6,8,34,67]
#进行绘制
plt.plot(x,y,linewidth=10) #绘制加粗
#设置x,y方向的展示
plt.xlabel('x')
plt.ylabel('y=x^2')
#设置一个字体,用来显示中文
plt.rcParams['font.sans-serif'] = ['SimHei']
#增加标题
plt.title("绘制y=x^2的图形")
#展示
plt.show()

'''绘制一元二次方程'''
import matplotlib.pyplot as plt
#x轴取数
x = range(-100,100)
y = [i**2 for i in x]
plt.plot(x,y)
#保存图片
plt.savefig("imags.png")
plt.show()

'''
绘制正玄余玄
'''
import matplotlib.pyplot as plt
import numpy as np
#x轴进行等分
x =np.linspace(0,10,100)
sin_y = np.sin(x)
cos_y = np.cos(x)
plt.plot(x,sin_y)
plt.plot(x,cos_y)
plt.show()
'''
对subplot的使用
'''
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(1,10,100)
sin_y = np.sin(x)
plt.subplot(2,2,4) #调整画布,将图像画到第四象限
plt.xlim(-5,20) #x轴的大小
plt.ylim(-2,2) #y轴的大小
plt.plot(x,sin_y)
plt.show()

'''
在绘制散点图的时候,plot的绘制plt.plot(x,y_sin,'o')比scatter速度快,
但是如果散点图的大小和颜色不一样的时候,还是scatter比较快
'''
import matplotlib.pyplot as plt
import numpy as np
np.random.seed(0) #绘制多次,每次的点都是一样的
x = np.random.rand(100)
y = np.random.rand(100)
size = np.random.rand(10)*1000
color =np.random.rand(100)#随机生成100个颜色
plt.scatter(x,y,s=size,c=color,alpha=0.7)
plt.show()

'''
绘制柱状图
'''
import matplotlib.pyplot as plt
import numpy as np
x = [1994,1995,1996,1997]
x_lable = ['1994年','1995年','1996年','1997年']
y = [1000,3000,5000,6000]
plt.bar(x,y,width=0.5)
plt.rcParams['font.sans-serif'] = ['SimHei']
#修改x坐标的刻度
plt.xticks(x,x_lable)
#给x,y轴增加说明
plt.xlabel("年份")
plt.ylabel("销量")
plt.title("年销量关系图")
plt.show()

'''
给柱状同不同值添加颜色
'''
import matplotlib.pyplot as plt
import numpy as np x = range(5)
y =np.random.randint(-5,5,5)
bars=plt.bar(x,y)
for bar,height in zip(bars,y): #zip就是一个拉链,一一对应
if height>0:
bar.set(color="red")
else:
bar.set(color="blue")
plt.show()

'''
统计男女比例
'''
import matplotlib.pyplot as plt
man =12344
woman =11443
man_proc =man/(man+woman)
woman_proc=woman/(man+woman)
#添加名称
plt.rcParams['font.sans-serif'] = ['SimHei']
labels=['男','女']
#添加颜色
colors=['red','blue']
paches,texts,autotext=plt.pie([man_proc,woman_proc],labels=labels,colors=colors,explode=(0,0.05),autopct='%0.1f%%')
#返回三个参数:texts饼图外部文本,autotext饼图内部文本
for autotextcolor in autotext:
autotextcolor.set_color('white') for text in texts+autotext:
text.set_fontsize(20)
plt.show()

'''
统计三天三部电影的票房数
'''
import matplotlib.pyplot as plt
import numpy as np
width =0.3
ticket_name = ['千里千寻','玩具总动员','黑衣人:全球总动员']
ticket_num1 = [4523 ,1234,2345]
ticket_num2 = [2345,2354,4212]
ticket_num3 = [3333,5532,1235]
x =np.arange(len(ticket_name))
plt.bar(x,ticket_num1,width=width,alpha=0.5,label=ticket_name[0])
plt.bar([i+width for i in x],ticket_num2,width=width,alpha=0.5,label=ticket_name[1])
plt.bar([i+2*width for i in x],ticket_num3,width=width,alpha=0.5,label=ticket_name[2])
#设置x坐标 第1天、第2天、第3天
plt.rcParams['font.sans-serif'] = ['SimHei']
x_lable =['第{}天'.format(i+1) for i in x]
plt.xticks([i+width for i in x],x_lable)
plt.ylabel("票房数(万)")
#设置图例
plt.legend()
plt.title('统计三天的票房统计')
plt.show()

'''
绘制一个三维模式
'''
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
#创建x,y,z 坐标
X =[1,1,2,2]
Y =[3,4,4,3]
Z =[12,56,2,23]
#创建figure
figure = plt.figure()
#创建Axes3D对象
axes3D =Axes3D(figure)
axes3D.plot_trisurf(X,Y,Z)
plt.show()

十六、matplotlib统计图的更多相关文章

  1. 大白话5分钟带你走进人工智能-第二十六节决策树系列之Cart回归树及其参数(5)

                                                    第二十六节决策树系列之Cart回归树及其参数(5) 上一节我们讲了不同的决策树对应的计算纯度的计算方法, ...

  2. 我的MYSQL学习心得(十六) 优化

    我的MYSQL学习心得(十六) 优化 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据 ...

  3. Bootstrap <基础二十六>进度条

    Bootstrap 进度条.在本教程中,你将看到如何使用 Bootstrap 创建加载.重定向或动作状态的进度条. Bootstrap 进度条使用 CSS3 过渡和动画来获得该效果.Internet ...

  4. Bootstrap<基础十六> 导航元素

    Bootstrap 提供的用于定义导航元素的一些选项.它们使用相同的标记和基类 .nav.Bootstrap 也提供了一个用于共享标记和状态的帮助器类.改变修饰的 class,可以在不同的样式间进行切 ...

  5. 解剖SQLSERVER 第十六篇 OrcaMDF RawDatabase --MDF文件的瑞士军刀(译)

    解剖SQLSERVER 第十六篇 OrcaMDF RawDatabase --MDF文件的瑞士军刀(译) http://improve.dk/orcamdf-rawdatabase-a-swiss-a ...

  6. Senparc.Weixin.MP SDK 微信公众平台开发教程(十六):AccessToken自动管理机制

    在<Senparc.Weixin.MP SDK 微信公众平台开发教程(八):通用接口说明>中,我介绍了获取AccessToken(通用接口)的方法. 在实际的开发过程中,所有的高级接口都需 ...

  7. JAVA-集合作业-已知有十六支男子足球队参加2008 北京奥运会。写一个程序,把这16 支球队随机分为4 个组。采用List集合和随机数

    第二题 已知有十六支男子足球队参加2008 北京奥运会.写一个程序,把这16 支球队随机分为4 个组.采用List集合和随机数 2008 北京奥运会男足参赛国家: 科特迪瓦,阿根廷,澳大利亚,塞尔维亚 ...

  8. Web 前端开发人员和设计师必读精华文章【系列二十六】

    <Web 前端开发精华文章推荐>2014年第5期(总第26期)和大家见面了.梦想天空博客关注 前端开发 技术,分享各类能够提升网站用户体验的优秀 jQuery 插件,展示前沿的 HTML5 ...

  9. linux基础-第十六单元 yum管理RPM包

    第十六单元 yum管理RPM包 yum的功能 本地yum配置 光盘挂载和镜像挂载 本地yum配置 网络yum配置 网络yum配置 Yum命令的使用 使用yum安装软件 使用yum删除软件 安装组件 删 ...

  10. 无废话ExtJs 入门教程十六[页面布局:Layout]

    无废话ExtJs 入门教程十六[页面布局:Layout] extjs技术交流,欢迎加群(201926085) 首先解释什么是布局: 来自百度词典的官方解释:◎ 布局 bùjú: [distributi ...

随机推荐

  1. spark aggregate算子

    spark aggregate源代码 /** * Aggregate the elements of each partition, and then the results for all the ...

  2. Hive 中的 order by, sort by, distribute by 与 cluster by

    Order By order by 会对输入做全排序, 因此只有一个Reducer(多个Reducer无法保证全局有序), 然而只有一个Reducer, 会导致当输入规模较大时, 消耗较长的计算时间. ...

  3. 如何将dmp文件导入到Oracle

    一.概述 在将dmp文件导入到Oracle中之前,需要先创建一个orcale用户.然后使用该用户名和密码,以imp的方式将数据导入到oracle中. 二.执行步骤 1.登陆oracle数据库 a.sq ...

  4. 谈谈对MapTask任务分配和Shuffle的理解

    一.切片与MapTask的关系 1.概述 大家要注意区分切片与切块的区别: 切块Block是HDFS物理上把数据分成一块一块的,默认是128M: 数据切片:只是在逻辑上对输入进行分片,并不会在磁盘上分 ...

  5. netty权威指南学习笔记一——NIO入门(3)NIO

    经过前面的铺垫,在这一节我们进入NIO编程,NIO弥补了原来同步阻塞IO的不足,他提供了高速的.面向块的I/O,NIO中加入的Buffer缓冲区,体现了与原I/O的一个重要区别.在面向流的I/O中,可 ...

  6. 官网英文版学习——RabbitMQ学习笔记(五)Publish/Subscribe

    发布/订阅模式:把一个消息发送给多个消费者. 前几篇文章的思想是,我们好像看到了生产者将消息直接发送给queue,然后消费者也从queue中进行消费.其实并非如此,RabbitMQ中的消息传递模型的核 ...

  7. yum对于包和软件的安装、升级和卸载总结

    在Centos下yum的安装.升级和卸载 一.使用yum安装和卸载软件,有个前提是yum安装的软件包都是rpm格式的.安装的命令是,yum install ~,yum会查询数据库,有无这一软件包,如果 ...

  8. 从0到1完成微信小程序开发(2)

    一,小程序的文件结构 小程序包含一个描述程序的app和多个描述各自页面的page 一个小程序主体部分由三个文件组成,必须放在项目的根目录,如下: 一个小程序页面由四个文件组成,分别是: 下面是一个单页 ...

  9. 十一、JavaScript之两种注释方法

    一.代码如下 二.运行效果如下

  10. Wdcp升级Php5.3成功

    在lanmp/wdcp/wdOS的当前版本中,默认的php都是用到5.2.17的版本如需要升级到php5.3的,可使用如下脚本升级(注:此升级无安全漏洞等原因,只为某些追求高版本或应用需求需要高版本, ...