matplotlib笔记1
散点图-scatter
散点图显示两组数据的值,每个点的坐标位置由变量的值决定由一组不连接的点完成,用于观察两种变量的相关
- import numpy as np
- import matplotlib.pyplot as plt #导入绘图模块
- height = [161, 170, 182, 175, 173, 165]
- weight = [50, 58, 80, 70, 69, 55]
- plt.scatter(height, weight)
- N = 1000
- x = np.random.randn(N)
- # y1 = np.random.randn(N)
- y1 = -x + np.random.randn(N)*0.5
- # 绘制散点图的命令行
- plt.scatter(x, y1, s=100, c='r', marker='o', alpha=0.5)
- # s表示点的面积,c表示点的颜色,marker表示点的形状,alpha表示点的透明度
- plt.show()
折线图
折线图是用直线段将各数据连接起来组成的图形常用来观察数据随时间变化的趋势
- import numpy as np
- import matplotlib.pyplot as plt
- import matplotlib.dates as mdates
- x = np.linspace(-10, 10, 100)
- # y = x**2
- y = np.sin(x)
- plt.plot(x, y, linestyle='-.', color='g', marker='^')
- # 折线图的基本绘制命令行,linestyle为要画的线型,color为线的颜色,marker为点的形状
- # 在matplotlib官网中,有关于线型,颜色,点的形状的全面介绍
- plt.show()
条形图
以长方形的长度为变量的统计图表,用来比较多个项目分类的数据大小,通常利用于较小的数据集分析
条形图可以以单列,并列,层叠方式画图
- import numpy as np
- import matplotlib.pyplot as plt
- # 单列模式
- N = 5
- y = [20, 10, 30, 25, 15]
- index = np.arange(N)
- # plt.bar(x=index, height=y, width=0.5, color='r')
- # x表示的是x轴上对应的第几个条形,height表示的y轴上对应条形的高度,
- # width表示条形的 宽度
- plt.bar(index, y, 0.5, color='r') # x=,height=,width=,可以省略
- # 条形图也可以横着放
- # x需要赋0值,bottom表示条形块的底部即对应纵轴上的坐标,
- # width表示条形块横着放的高度,相当于横轴上(横向)的宽度,
- # height表示条形块纵向的宽度,orientation='horizontal'表示要画横向的条形图
- pl = plt.bar(x=0, bottom=index, color='red', width=y, height=0.5,
- orientation='horizontal')
- # 横向条形图有第二种方式,这里的y轴应赋值第几个条形快即index
- # pl = plt.barh(y=index, color='red', width=y,)
- plt.show()
- import numpy as np
- import matplotlib.pyplot as plt
- # 并列式绘条形图,将两个条形图共用一个坐标轴,并列的画在一起
- index = np.arange(4)
- sales_BJ = [52,55,63,53]
- sales_SH = [44,66,55,41]
- bar_width = 0.3
- plt.bar(index,sales_BJ,bar_width,color='b')
- # 这个并列的条形图的横轴上的坐标可以用index+bar_width来表示
- # 目的是不与第一个重叠
- plt.bar(index+bar_width,sales_SH,bar_width,color='r')
- plt.show()
- import numpy as np
- import matplotlib.pyplot as plt
- # 层叠绘图
- index = np.arange(4)
- sales_BJ = [52,55,63,53]
- sales_SH = [44,66,55,41]
- bar_width = 0.3
- plt.bar(index,sales_BJ,bar_width,color='b')
- # 第二个要层叠的对象需要加bottom=sales_BJ,表示层叠底部的对象是上一个
- plt.bar(index,sales_SH,bar_width,color='r',bottom=sales_BJ)
- plt.show()
直方图
由一系列高度不等的纵向条形组成,表示数据分布的情况注意和条形图的区别
- import numpy as np
- import matplotlib.pyplot as plt
- mu = 100
- sigma = 20
- x = mu + sigma * np.random.randn(20000)
- # 单变量频率分布直方图,用条形的高度表示频率分布的大小
- # bins=100是将x轴取到的数分100个等份的条形块
- # normed=False表示这里的每个条形即每个区间所占的个数
- # normed=True时表示每个条形区间占总数的比例
- plt.hist(x,bins=100,color='green',normed=False)
- # 双变量变量频率分布直方图,用颜色的深浅表示频率的分布大小
- # x = np.random.randn(1000)+2
- # y = np.random.randn(1000)+3
- # plt.hist2d(x,y,bins=40)
- plt.show()
饼状图
饼状图显示一个数据系列中各项的大小与各项总和的比例饼状图中的数据点显示为整个饼状图的百分比
- import matplotlib.pyplot as plt
- labels = ('A','B','C','D')
- fracs = [15,30,45,10]
- explode = [0,0.05,0.08,0]
- plt.axes(aspect=1) # 如果横纵方向不是1:1,这个可以将要画的图默认为1:1
- plt.pie(x=fracs,labels=labels,autopct='%.1f%%',explode=explode,shadow=True)
- # autopct='%.1f%%'表示每一块所占总块的比例,
- # explode=explode表示每块分离出的距离
- # shadow=True将分离出的饼块添加阴影
- plt.show()
箱形图
箱形图(Box-plot)又称为盒须图、盒式图或箱线图
是一种用作显示一组数据分散情况资料的统计图
上边缘,上四分位数,中位数,下四分位数,下边缘,异常值
- import numpy as np
- import matplotlib.pyplot as plt
- np.random.seed(100)
- # 单个箱形图
- data = np.random.normal(size=1000,loc=0,scale=1)
- # 此代码行表示正态分布,size表示随机选取的数值数量,
- # loc为概率分布的平均值,是概率分布中心,
- # scale是概率分布标准差,对应于分布的宽度,scale越大越矮胖,scale越小,越瘦高
- plt.boxplot(data, sym='o',whis=1.5)
- # sym表示异常值点的形状,whis表示异常值与需线的比例值,在官网有具体说明
- #多个箱形图在同一个坐标轴中
- # data = np.random.normal(size=(1000,4),loc=0,scale=1)
- # labels = ['A','B','C','D']
- # plt.boxplot(data,labels=labels)
- plt.show()
matplotlib笔记1的更多相关文章
- Python matplotlib笔记
可视化的工具有很多,如Tableau,各种JS框架,我个人感觉应该是学JS最好,因为JS不需要环境,每个电脑都有浏览器,而像matplotlib需要Python这样的开发环境,还是比较麻烦的,但是毕竟 ...
- matplotlib笔记3
关于matplotlib的绘制图形的基本代码,我们可以参照下面的连接 https://matplotlib.org/gallery/index.html https://matplotlib.org/ ...
- matplotlib笔记2
颜色和样式 八种内建默认颜色缩写b:blue g:green r:red c:cyan m:magenta y:yellow k:black w:white其它颜色表示方法可以参照百度给的值https ...
- matplotlib笔记——legend用法
rates = [0.01, 0.001, 0.0001] models = {} costs = np.array([[0.7, 0.9, 0.4, 0.6, 0.4, 0.3, 0.2, 0.1] ...
- Google TensorFlow深度学习笔记
Google Deep Learning Notes Google 深度学习笔记 由于谷歌机器学习教程更新太慢,所以一边学习Deep Learning教程,经常总结是个好习惯,笔记目录奉上. Gith ...
- Matplotlib:mpl_toolkits.mplot3d工具包
简介 mpl_toolkits.mplot3d是Matplotlib里面专门用来画三维图的工具包,官方指南请点击此处<mplot3d tutorial> 使用 导入 使用from mpl_ ...
- Matplotlib 学习笔记
注:该文是上了开智学堂数据科学基础班的课后做的笔记,主讲人是肖凯老师. 数据绘图 数据可视化的原则 为什么要做数据可视化? 为什么要做数据可视化?因为可视化后获取信息的效率高.为什么可视化后获取信息的 ...
- Matplotlib学习笔记(二)
原 Matplotlib学习笔记 参考:Python数据科学入门教程 Python3.6.1 jupyter notebook .caret, .dropup > .btn > .car ...
- Matplotlib学习笔记(一)
原 matplotlib学习笔记 参考:Python数据科学入门教程 Python3.6.1 jupyter notebook .caret, .dropup > .btn > .ca ...
随机推荐
- Tkinter 之Text文本框标签
一.参数说明 语法 作用 t=tk.Text()t.insert(END,'插入的文本信息') INSERT:光标的插入点CURRENT:鼠标的当前位置所对应的字符位置END:这个Textbuffer ...
- Nexus 3搭建及备份恢复
Nexus 3搭建 官网下载相应的软件版本:Nexus官网 配置仓库存放地址 # tar xf xxxx # more bin/nexus.vmoptions -Xms500M -Xmx500M -X ...
- LUA table中函数的调用
1 lua中函数作为表中元素时有三种定义方式 采用‘:’来定义,实际上隐藏了一个形参的声明,这个形参会截获调用函数时的第一个实参并把它赋值给self 2 调用方式,点号和冒号 functb:hello ...
- java权限管理与用户角色权限设计
java权限管理与用户角色权限设计 实现业务系统中的用户权限管理 B/S系统中的权限比C/S中的更显的重要,C/S系统因为具有特殊的客户端,所以访问用户的权限检测可以通过客户端实现或通过客户端+服务器 ...
- ip6tables命令
ip6tables命令和iptables一样,都是linux中防火墙软件,不同的是ip6tables采用的TCP/ip协议为IPv6. 语法 ip6tables(选项) 选项 -t<表>: ...
- php Class 'ZipArchive' not found怎么解决?
情况1: 服务器php zip模块没有安装 情况2: Php.ini 中Php zlip扩展没有开 文章来源:外星人来地球 欢迎关注,有问题一起学习欢迎留言.评论
- Django学习笔记009-django models进行数据库增删查改
引入models的定义 from app.models import myclass class myclass(): aa = models. CharField (max_length=No ...
- 在Excel多个工作表间快速切换的绝招
在Excel多个工作表间快速切换的绝招 几乎每个Excel用户"数据分析师"都应该知道,如果一个Excel工作簿中包括许多个工作表,我们"数据分析师"可以通过单 ...
- Apache2.4的三种模式
prefork 多进程模式 一个主进程,负责生成多个子进程,也称工作进程,进程之间独立,每个进程之间只能有一个线程,优点是稳定,缺点是内存占用大,每个进程响应一个用户请求. worker 多线程模式 ...
- Node.js导入jquery.min.js报错
报错如下: 一看就是路径问题,可是代码中路径看起来貌似没错,如下: 解决方法: 引入方式如下: <script type="text/javascript" src=&quo ...