十六、matplotlib统计图
'''
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统计图的更多相关文章
- 大白话5分钟带你走进人工智能-第二十六节决策树系列之Cart回归树及其参数(5)
第二十六节决策树系列之Cart回归树及其参数(5) 上一节我们讲了不同的决策树对应的计算纯度的计算方法, ...
- 我的MYSQL学习心得(十六) 优化
我的MYSQL学习心得(十六) 优化 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据 ...
- Bootstrap <基础二十六>进度条
Bootstrap 进度条.在本教程中,你将看到如何使用 Bootstrap 创建加载.重定向或动作状态的进度条. Bootstrap 进度条使用 CSS3 过渡和动画来获得该效果.Internet ...
- Bootstrap<基础十六> 导航元素
Bootstrap 提供的用于定义导航元素的一些选项.它们使用相同的标记和基类 .nav.Bootstrap 也提供了一个用于共享标记和状态的帮助器类.改变修饰的 class,可以在不同的样式间进行切 ...
- 解剖SQLSERVER 第十六篇 OrcaMDF RawDatabase --MDF文件的瑞士军刀(译)
解剖SQLSERVER 第十六篇 OrcaMDF RawDatabase --MDF文件的瑞士军刀(译) http://improve.dk/orcamdf-rawdatabase-a-swiss-a ...
- Senparc.Weixin.MP SDK 微信公众平台开发教程(十六):AccessToken自动管理机制
在<Senparc.Weixin.MP SDK 微信公众平台开发教程(八):通用接口说明>中,我介绍了获取AccessToken(通用接口)的方法. 在实际的开发过程中,所有的高级接口都需 ...
- JAVA-集合作业-已知有十六支男子足球队参加2008 北京奥运会。写一个程序,把这16 支球队随机分为4 个组。采用List集合和随机数
第二题 已知有十六支男子足球队参加2008 北京奥运会.写一个程序,把这16 支球队随机分为4 个组.采用List集合和随机数 2008 北京奥运会男足参赛国家: 科特迪瓦,阿根廷,澳大利亚,塞尔维亚 ...
- Web 前端开发人员和设计师必读精华文章【系列二十六】
<Web 前端开发精华文章推荐>2014年第5期(总第26期)和大家见面了.梦想天空博客关注 前端开发 技术,分享各类能够提升网站用户体验的优秀 jQuery 插件,展示前沿的 HTML5 ...
- linux基础-第十六单元 yum管理RPM包
第十六单元 yum管理RPM包 yum的功能 本地yum配置 光盘挂载和镜像挂载 本地yum配置 网络yum配置 网络yum配置 Yum命令的使用 使用yum安装软件 使用yum删除软件 安装组件 删 ...
- 无废话ExtJs 入门教程十六[页面布局:Layout]
无废话ExtJs 入门教程十六[页面布局:Layout] extjs技术交流,欢迎加群(201926085) 首先解释什么是布局: 来自百度词典的官方解释:◎ 布局 bùjú: [distributi ...
随机推荐
- Java自学-集合框架 hashCode原理
Java hashCode原理 步骤 1 : List查找的低效率 假设在List中存放着无重复名称,没有顺序的2000000个Hero 要把名字叫做"hero 1000000"的 ...
- junit小试log4j及xml配置文件说明
上篇文章介绍了java日志框架使用情况,以及xml配置文件的简单说明.但主要还是根据别人的博客整理一下知识结构,只能是纸上谈兵,本文通过junit测试框架来玩玩log4j. 1.junit+l ...
- numpy.linspace使用详解
numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None) 在指定的间隔内返回均匀间隔的数字. 返回nu ...
- etcd入门
简介 etcd是CoreOS团队于2013年6月发起的开源项目,它的目标是构建一个高可用的分布式键值(key-value)数据库. etcd内部采用raft协议作为一致性算法,基于Go语言实现. et ...
- win上java1.7和1.8版本修改环境变量无效.md
网上找了很多办法都没用. 解决办法: 看看自己 "系统环境变量" 中是不是有 "C:\ProgramData\Oracle\Java\javapath" 这项配 ...
- flower——知识总结
创建主外键关联的话,外键表的外键字段一定要与主键表的主键字段相一致,包括字段类型,字段长度,字段符号等等 inverse="true" 将控制权交给对方,在一对多的关系中,一端控制 ...
- 如何禁用AD OU 下面的邮箱用户的Exchange ActiveSync 和 适用于设备的OWA
Get-Mailbox -OrganizationalUnit QQ禁用名单 | Set-CASMailbox -ActiveSyncEnabled $false -OWAforDevicesEna ...
- 13.56mhz自动寻卡功能业界最低功耗:SI522
随着智能门锁的不断火爆,很多智能门锁产商为了让产品的功耗下降下来,都在不断寻找能自动寻卡的13.56mhz.今天我就为大家推荐一款13.56mhz芯片自动寻卡业界最低功耗,不仅是业界最低另外还完全PI ...
- [LeetCode] 932. Beautiful Array 漂亮数组
For some fixed N, an array A is beautiful if it is a permutation of the integers 1, 2, ..., N, such ...
- Vulkan SDK 之 Graphics Pipeline
A graphics pipeline consists of shader stages, a pipeline layout, a render pass, and fixed-function ...

