最近有些朋友做毕设时寻求绘图帮助,但又说不清楚自己的要求,写个博客简单介绍一下python中做分析图表常用的seaborn与matplotlib这两个功能强大库,如果你还没学会强大的matlab制作数据图,恰巧又想学或者懂些python使用,那这两个库可能会让你在短时间内得到满意的图,因为官方给出的演示文档实在是丰富。
1. Seaborn库
Seaborn是一个使用Python制作统计图形的库,基于matplotlib之上的封装,更加绘图命令更简洁,通常会配合pandas读写数据和matplotlib扩展绘图一起使用。
seaborn 实例库
函数接口汇总
实例库中34个分析图实例,你要的基本都都在这:
Notes:
如果提示seaborn库不存在的话,安装办法:
- pip安装
pip install seaborn
- 使用Anaconda,打开prompt
conda install seaborn
seaborn自带的 load_dataset(name[, cache, data_home])
是加载在线存储库中数据的接口,读取本地数据比如.CVS文件通常会使用pd.read_csv('train.csv')
。
2. Matplotlib库
刚刚说到Seaborn是基于Matplotlib的封装,所以Seaborn的功能Matplotlib中也都可以实现,案例也更加丰富,官方查看文档非常清晰,与seaborn教程和pandas搭配不同,Matplotlib给出的官方教程都是配合numpy库使用。
Matplotlib官方实例库
官方文档
通常上Matplotlib会默认集成到Anaconda,Canopy和ActiveState(分别对应Windows,macOS和Linux系统)的安装包中,
只需要,
import matplotlib.pyplot as plt
import numpy as np
看会不会报错,报错的话动手装一下,比如:
python -m pip install -U matplotlib
目前 Matplotlib 库包括多种函数图案例,2D画图设计,3D画图,还能根据数据画出动态图(就是那种三分钟带你了解某某变迁史动态显示视频),粗略数了一下,这个文档里有300多个案例,详细和丰富程度让我眼花,还要啥自行车? 网上教程一大片,细看基本也都出自于此。
下面是两个库的几个基本图形的接口:
图形 | Seaborn | Matplotlib |
---|---|---|
折线图 | lineplot(x=’’,y=’’,data=) | pyplot.plot(x,y) |
散点图 | jointplot(x=’’,y=’’,data=,kind=‘scatter’) | pyplot.scatter |
直方图 | distplot(x,kde=True) | pyplot.hist(x,bin=) |
箱线图 | boxplot(data=) | pyplot.boxplot(x,labels=) |
Note: 如果只是因为写论文原因或者是偶尔需要画图的话,只需要在需要用的时候去官网查询文档,使用案例修得到自己需要的图即可。如果是经常要和数据分析制图打交道的话应该才要尽量记住接口名称。另外说起这两个库先学哪一个的话,个人认为Seaborn较为简单,但需要进阶的话还是用Matplotlib库(也不难掌握),因此在两种都能让人吃饱的情况下,最好还是选择更香的(Matplotlib)。