matplotlib

五、Matplotlib:绘图和可视化

在这里插入图片描述

  • 简介
  • 简单绘制线形图
  • plot函数
  • 支持图类型
  • 保存图表

1、简介

在这里插入图片描述

Matplotlib是一个强大的Python绘图和数据可视化的工具包。数据可视化也是我们数据分析的最重要的工作之一,可以帮助我们完成很多操作,例如:找出异常值、必要的一些数据转换等。完成数据分析的最终结果也许就是做一个可交互的数据可视化。

安装方式:

pip install matplotlib

引用方法:

import matplotlib.pyplot as plt

2、简单绘制线形图

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.
在这里插入图片描述

3、plot函数

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') 

在这里插入图片描述

图像标注

方法描述
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()  # 曲线图例

运行图例:

在这里插入图片描述

绘制数学函数

使用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()

在这里插入图片描述

4、支持的图类型

在这里插入图片描述

函数说明
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、保存图表到文件

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“,则尝试剪除图表周围空白部分

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值