Matplotlib:绘图和可视化
Matplotlib:绘图和可视化
- 简介
- 简单绘制线形图
- plot函数
- 支持图类型
- 保存图表
一 、简介
Matplotlib是一个强大的Python绘图和数据可视化的工具包。数据可视化也是我们数据分析的最重要的工作之一,可以帮助我们完成很多操作,例如:找出异常值、必要的一些数据转换等。完成数据分析的最终结果也许就是做一个可交互的数据可视化。
安装方式:
pip install matplotlib
引用方法:
import matplotlib.pyplot as plt
二 、简单绘制线形图
plt.plot() # 绘图函数
plt.show() # 显示图像
在jupyter notebook中不执行这条语句也是可以将图形展示出来
import matplotlib.pyplot as plt
import numpy as np
data = np.arange(10)
plt.plot(data)
plt.show() # 显示图像,在notebook中不执行这一句也可以
执行结果:
虽然seaborn这些库和pandas的内置绘图函数能够处理许多普通的绘图任务,如果需要自定义一些高级功能的话就必须要matplotlib API.
三 、plot函数
3.1 plot函数:绘制折线图
- 线型linestyle(-,-.,-–,..)
- 点型marker(v,^,s,*,H,+,X,D,O,..…)
- 颜色color(b,g,r,y,k,w,..…)
plt.plot([0,3,9,15,30],linestyle = '-.',color = 'r',marker = 'o')
3.2 图像标注
方法 | 描述 |
---|---|
plt.title() | 设置图像标题 |
plt.xlabel() | 设置x轴名称 |
plt.ylabel() | 设置y轴名称 |
plt.xlim() | 设置x轴范围 |
plt.ylim() | 设置y轴范围 |
plt.xticks() | 设置x轴刻度 |
plt.yticks() | 设置y轴刻度 |
plt.legend() | 设置曲线图例 |
plt.plot([0,3,9,15,30],linestyle = '-.',color = 'r',marker = 'o',label="A")
plt.plot([1,3,16,23,30],[30,23,13,25,30],label='B')
plt.title("Title") # 标题
plt.xlabel('X') # x轴名称
plt.ylabel('Y') # y轴名称
plt.xticks(np.arange(0,30,2)) # x轴刻度
plt.xlim(-0.2,10,2) # x轴范围
plt.legend() # 曲线图例
运行图例:
3.3 绘制数学函数
使用Matplotlib模块在一个窗口中绘制数学函数y=x, y=x**2,y=sinx的图像,使用不同颜色的线加以区别,并使用图例说明各个线代表什么函数。
x = np.arange(-100,100)
y1 = x
y2 = x ** 2
y3 = np.sin(x)
-----------------------
plt.plot(x,y1,label="y=x")
plt.plot(x,y2,label="y=x^2")
plt.plot(x,y3,label="y=sin(x)")
plt.ylim(-100,100)
plt.legend()
四 、支持的图类型
函数 | 说明 |
---|---|
plt.plot(x,y,fmt) | 坐标系 |
plt.boxplot(data,notch,position) | 箱型图 |
plt.bar(left,height,width,bottom) | 柱状图 |
plt.barh(width,bottom,left,height) | 横向柱状图 |
plt.polar(theta,r) | 极坐标系 |
plt.pie(data,explode) | 饼图 |
plt.psd(x,NFFT=256,pad_to,Fs) | 功率谱密度图 |
plt.specgram(x,NFFT=256,pad_to,F) | 谱图 |
plt.cohere(x,y,NFFT=256,Fs) | X-Y相关性函数 |
plt.scatter(x,y) | 散点图 |
plt.step(x,y,where) | 步阶图 |
plt.hist(x,bins,normed) | 直方图 |
# 柱状图
data = [12,34,23,54]
labels = ['Jan','Fed','Mar','Apr']
plt.xticks([0,1,2,3],labels) # 设置x轴刻度
plt.bar([0,1,2,3],data)
# 横向柱状图
data = [12,34,23,54]
labels = ['Jan','Fed','Mar','Apr']
plt.yticks([0,1,2,3],labels)
plt.barh([0,1,2,3],data)
# DataFrame数组图
df = pd.DataFrame({
'Jan':pd.Series([1,2,3],index=['a','b','c']),
'Fed':pd.Series([4,5,6],index=['b','a','c']),
'Mar':pd.Series([7,8,9],index=['b','a','c']),
'Apr':pd.Series([2,4,6],index=['b','a','c'])
})
df.plot.bar() # 水平柱状图,将每一行中的值分组到并排的柱子中的一组
df.plot.barh(stacked=True,alpha=0.5) # 横向柱状图,将每一行的值堆积到一起
# 饼图
plt.pie([10,20,30,40],labels=list('abcd'),autopct="%.2f%%",explode=[0.1,0,0,0]) # 饼图
plt.axis("equal")
plt.show()
# 散点图
import random
x = np.random.randn(100)
y = np.random.randn(100)
plt.scatter(x,y)
五 、保存图表到文件
5.1 plt.savafig(‘文件名.拓展名’)
文件类型是通过文件扩展名推断出来的。因此,如果你使用的是.pdf,就会得到一个PDF文件。
plt.savefig('123.pdf')
savefig并非一定要写入磁盘,也可以写入任何文件型的对象,比如BytesIO:
from io import BytesIO
buffer = BytesIO()
plt.savefig(buffer)
plot_data = buffer.getvalue()
参数 | 说明 |
---|---|
fname | 含有文件路径的字符串或者Python的文件型对象。 |
dpi | 图像分辨率,默认为100 |
format | 显示设置文件格式(“png”,“jpg”,“pdf”,“svg”,“ps”,..…) |
facecolor、edgecolor | 背景色,默认为“W”(白色) |
bbox_inches | 图表需要保存的部分。设置为”tight“,则尝试剪除图表周围空白部分 |
Matplotlib:绘图和可视化的更多相关文章
- python金融与量化分析------Matplotlib(绘图和可视化)
-----------------------------------------------------------Matplotlib:绘图和可视化------------------------ ...
- Py修行路 Matplotlib 绘图及可视化模块
Matplotlib是一个强大的Python绘图和数据可视化的工具包. 安装方法:pip install matplotlib 引用方法:import matplotlib.pyplot as plt ...
- Matplotlib 绘图与可视化 一些属性和错误
属性 *)调整图像边缘及图像间的空白间隔plt.subplots.adjust(6个参数) 图像外部边缘的调整可以使用plt.tight_layout()进行自动控制,此方法不能够很好的控制图像间的间 ...
- Matplotlib 绘图与可视化 一些控件的介绍和属性,反正就是乱七八糟的
这个链接里有下面这个图(图里还有超链接):https://matplotlib.org/3.1.1/api/artist_api.html#matplotlib.artist.Artist 各种图例: ...
- matplotlib绘图基本用法-转自(http://blog.csdn.net/mao19931004/article/details/51915016)
本文转载自http://blog.csdn.net/mao19931004/article/details/51915016 <!DOCTYPE html PUBLIC "-//W3C ...
- python中利用matplotlib绘图可视化知识归纳
python中利用matplotlib绘图可视化知识归纳: (1)matplotlib图标正常显示中文 import matplotlib.pyplot as plt plt.rcParams['fo ...
- Python 数据分析(一) 本实验将学习 pandas 基础,数据加载、存储与文件格式,数据规整化,绘图和可视化的知识
第1节 pandas 回顾 第2节 读写文本格式的数据 第3节 使用 HTML 和 Web API 第4节 使用数据库 第5节 合并数据集 第6节 重塑和轴向旋转 第7节 数据转换 第8节 字符串操作 ...
- matplotlib实现数据可视化
一篇matplotlib库的学习博文.matplotlib对于数据可视化非常重要,它完全封装了MatLab的所有API,在python的环境下和Python的语法一起使用更是相得益彰. 一.库的安装和 ...
- matplotlib绘图的基本操作
转自:Laumians博客园 更简明易懂看Matplotlib Python 画图教程 (莫烦Python)_演讲•公开课_科技_bilibili_哔哩哔哩 https://www.bilibili. ...
随机推荐
- WinDbg常用命令系列---显示段选择器dg、链接列表dl和字符串ds/dS
dg (Display Selector) dg命令显示指定选择器的段描述符. dg FirstSelector [LastSelector] 参数: FirstSelector指定要显示的第一个选择 ...
- 回文数 js 解法
判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: 从左向 ...
- 虚拟变量陷阱(Dummy Variable Trap)
虚拟变量陷阱(Dummy Variable Trap):指当原特征有m个类别时,如果将其转换成m个虚拟变量,就会导致变量间出现完全共线性的情况. 假设我们有一个特征“性别”,包含男性和女性两个类别,如 ...
- 58、Spark Streaming: DStream的output操作以及foreachRDD详解
一.output操作 1.output操作 DStream中的所有计算,都是由output操作触发的,比如print().如果没有任何output操作,那么,压根儿就不会执行定义的计算逻辑. 此外,即 ...
- GoCN每日新闻(2019-10-06)
GoCN每日新闻(2019-10-06) 国庆专辑:GopherChina祝大家国庆节快乐 GoCN每日新闻(2019-10-06) 1. Go 1.14 有什么新变化 http://docs.goo ...
- 关于 Javascript 学习,有哪些好的博客或者网站推荐?
知乎社区:http://www.zhihu.com/question/19651401 Mozilla开发者网络社区:https://developer.mozilla.org/zh-CN/ moze ...
- [C++] 对象指针使用方法
对象指针:指向类对象的指针 类指针指向类变量(对象)的地址 对象指针定义格式: 类类型 *变量名: 举例: #include <iostream> using namespace std; ...
- webpack构建篇
WEBPack 构建 -- 基于webpack4 1.环境准备 NodeJs: 是一个基于 Chrome V8 引擎的 JavaScript 运行环境.其使用了一个事件驱动.非阻塞式 I/O 的模 ...
- Linux在线安装Redis
一.进入Redis官网寻找需要下载的版本:https://redis.io/ 将下载地址链接复制下来:http://download.redis.io/releases/redis-5.0.7.tar ...
- 使用spring validation完成数据后端校验-自定义校验的注解-判断是否为空
引入依赖 我们使用maven构建springboot应用来进行demo演示. <dependencies> <dependency> <groupId>org.sp ...