'''
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. ②java基础——标识符、关键字和基础数据类型

    Java标识符: 1.由英文字母.数字._(下划线)和$组成,长度不限.其中英文字母包含大写字母(A~Z)和小写字母(a~z),数字包含0到9 2.标识符的第一个字符不能是数字(即标识符不能以数字开头 ...

  2. unity基础开发----Unity获取PC,Ios系统的mac地址等信息

    在软件开发中可以会用到mac地址作为,设备的唯一标示,我们也可以通过unity获取,经测试pc,ios都可以但是安卓没有获取到. 代码如下: using UnityEngine; using Syst ...

  3. Redis数据类型及其操作

    redis数据类型即操作 1. 字符串 set 设置字符串 格式: set key value 例子: set name kainhuck get 获取字符串的值 格式: get key 例子: ge ...

  4. Ubuntu安装Python版本管理工具pyenv

    gyf@gyf-VirtualBox:~$ git clone https://github.com/yyuu/pyenv.git ~/.pyenvCloning into '/home/gyf/.p ...

  5. Jmeter安装插件Stepping Thread Group

    下载链接:https://jmeter-plugins.org/downloads/old/ 下载解压后,将JMeterPlugins-Standard.jar包放在jmeter安装目录的jmeter ...

  6. Java之集合

    前言: 在写程序当中,集合会经常使用,今天听了马老师的课,写一些自己的总结 正文: 集合最重要的就是一个图,一个类,三个知识点,六个接口 说到图就是上面的图,这个图可以帮我们理解这些接口的继承关系 1 ...

  7. 转载-- SQL连接查询2 外连接(左右联接查询)

    http://www.cnblogs.com/zhangqs008/archive/2010/07/02/2341196.html 外连接主要包括左连接.右连接和完整外部连接. 1)左连接:Left ...

  8. C# Process类详解

    C# Process类详解 Process[] processes = Process.GetProcessesByName(current.ProcessName); 根据进程名字找到所有进程,返回 ...

  9. Day 19:Properties配置文件类、打印流(printStream) 、 编码与解码

    Properties(配置文件类): 主要用于生产配置文件与读取配置文件的信息. Properties要注意的细节:  1. 如果配置文件的信息一旦使用了中文,那么在使用store方法生成配置文件的时 ...

  10. wget 403 forbidden

    CMD: wget --user-agent="Mozilla" down_url wget -U Mozilla 下载地址 wget -U NoSuchBrowser/1.0 下 ...