Python 可视化之matplotlib模块
盆友圈的小可爱 人气:0前言:
互联网时代下,在网络中每天都会产生很多数据,通过对数据分析之后,如何更好的诠释数据背后的意义,我们需要对数据进行可视化展示。
在数据可视化中,Python 也支持第三模块
- matplotlib 模块:
Python
使用最多的可视化库 - seaborn 模块:基于
matplotlib
的图形可视化 - pycharts 模块:用于生成
Echarts
图表的类库
接下来我们对matplotlib
模块提供的图形方法进行学习
1. matplotlib 模块概述
matplotlib 模块是第三方开源的,由John Hunter团队研发而成,NumFOCUS 的赞助项目。
matplotlib 模块是用于Python创建静态、动态和交互式可视化综合性的库。
matplotlib 模块特点
- 易创建图表如出版质量图、交互式数据可放大、缩小
- 定制化图表可完全控制线条样式、导入并嵌入多种文件格式
- 扩展性高,可以与第三方模块进行兼容
- matplotlib 模块资料手册信息丰富,可快速上手
matplotlib 模块获取
matplotlib
是Python
主流第三方可视化模块,我们需要使用pip进行下载
pip install matplotlib
matplotlib 模块使用
在matplotlib模块中,pyplot类是最常用的。
方式一:
from matplotlib import pyplot
方式二:
import matplotlib.pyplot as plt
重要说明:
- matplotlib 模块官方资料
- 查看matplotlib内部代码说明
2. matplotlib.pyplot 相关方法
matplotlib.pyplot 模块是我们画图标最常用的模块之一
方法 | 作用 |
---|---|
pyplot.title(name) | 图表的标题 |
pyplot.xlabel(name) | 图表的X轴名字 |
pyplot.ylabel(name) | 图表的y轴名字 |
pyplot.show() | 打印出图表 |
pyplot.plot(xvalue,yvalue) | 绘制折线图表 |
pyplot.bar(xvalue,yvalue) | 绘制柱状图表 |
pyplot.axis(data) | 获取或设置一些轴属性的便捷方法 |
pyplot.scatter(data) | 绘制散点图 |
pyplot.subplot(data) | 绘制子图 |
pyplot.grid(boolean) | 显示网状,默认为False |
pyplot.text() | 对文本进行处理 |
pyplot.pie(data) | 绘制饼图 |
pyplot.boxplot(data) | 绘制箱形图 |
pyplot.hist(data) | 绘制直方图 |
3. matplotlib.pyplot 图表展示
绘制折线图
使用pyplot..plot()方法
from matplotlib import pyplot # 设置图表字体格式 pyplot.rcParams["font.sans-serif"]=['SimHei'] pyplot.rcParams["axes.unicode_minus"]=False pyplot.plot([1,2,3,4,5,6],[45,20,19,56,35,69]) pyplot.title("data analyze") pyplot.xlabel("data") pyplot.ylabel("sum") pyplot.show()
绘制柱状图
- 使用pyplot..bar()方法
- 再次使用上面的数据,可以看到直方图
pyplot.bar([1,2,3,4,5,6],[45,20,19,56,35,69])
绘制饼图
- 使用pyplot.pie()方法绘制饼图
- 同时使用pyplot.axis方法设置每一个分区间隔
from matplotlib import pyplot labels = ["windows","MAC","ios","Android","other"] sizes = [50,10,5,15,20] explode = [0,0.1,0,0,0] pyplot.pie(sizes,explode=explode,labels=labels,autopct='%1.1f%%',shadow=False,startangle=90) pyplot.axis("equal") pyplot.title("data analyze") pyplot.show()
绘制散点图
使用pyplot.scatter(x,y)绘制散点图
import numpy as np from matplotlib import pyplot data = {"a":np.arange(50),"c":np.random.randint(0,50,50),"d":np.random.randn(50)} data['b'] = data['a']+10*np.random.randn(50) data['d'] = np.abs(data['d'])*100 pyplot.scatter("a","b",c='c',s='d',data=data) pyplot.title("data analyze") pyplot.xlabel("元素 a") pyplot.ylabel("元素 b") pyplot.show()
总结:
加载全部内容