十六、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 ...
随机推荐
- window下Apache Jmeter基础用法
1.下载Apache-jmeter-5.1.1.zip 2.解压到一个地方,就可以开始使用了,如果需要在CMD里快速打开,可以设置环境变量. 3.在bin里面,直接打开jmeter.bat. 可以修改 ...
- java核心-JVM-gc面试题
1.写一个memory leak的例子 public class MemonyLeak { //1.memoryLeak内存泄漏 /* 这类错误报错具体显示:java.lang.OutOfMemory ...
- 六十二、SAP中的字符串运算符与文本拼接
一.代码如下 二.输出效果如下
- Impala 笔记
简介 Cloudera公司推出,提供对HDFS.Hbase数据的高性能.低延迟的交互式SQL查询功能. 基于Hive使用内存计算,兼顾数据仓库.具有实时.批处理.多并发等优点 是CDH平台首选的PB级 ...
- 吴裕雄 Bootstrap 前端框架开发——Bootstrap 字体图标(Glyphicons):glyphicon glyphicon-align-justify
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...
- django下载
pip install django ==2.0.5 创建目录 1创建目录 2终端下进入目录 3输入django-admin startproject project
- 转:JS高级学习笔记(8)- JavaScript执行上下文和执行栈
必看参考: 请移步:博客园 JavaScript的执行上下文 深入理解JavaScript执行上下文和执行栈 JavaScript 深入之执行上下文 写在开头 入坑前端已经 13 个月了,不能再称自己 ...
- js 月份选择器(只选择到月)
需要如下js https://pan.baidu.com/s/1c1T9wY0 在html中添加如下代码 <input onclick="setmonth(this)" /& ...
- [题解] Luogu P4245 [模板]任意模数NTT
三模NTT 不会... 都0202年了,还有人写三模NTT啊... 讲一个好写点的做法吧: 首先取一个阀值\(w\),然后把多项式的每个系数写成\(aw + c(c < w)\)的形式,换句话说 ...
- centos系统 通过命名查找需要安装哪个安装包 command not found
场景: 服务器未安装命令,但是我们需要使用,不知道该安装什么包,以sz命令为例 [root@localhost linshi]# sz tes.sh -bash: /usr/bin/sz: 没有那个文 ...