Matplotlib
概述
Matplotlib是一个用于数据可视化的Python绘图库。它提供了构建各种绘图,图表和数据可视化的工具。它能让使用者很轻松地将数据图形化,并且提供多样化的输出格式。
Matplotlib是一个Python的数据可视化库,可以用来绘制各种类型的图表,如直方图、散点图、线图、条形图、饼图等等。Matplotlib的核心是pyplot模块,它提供了许多绘图函数和工具,可以轻松地创建各种类型的图表。
Matplotlib可以与其他Python库,如Numpy和Pandas等集成,以便更好地处理数据,并通过图形和图表来展示和观察数据的规律和趋势。
总结:MATPLOTLIB是一个强大的数据可视化工具,是学习和掌握数据可视化的必备工具
Matplotlib官网:https://matplotlib.org/
Matplotlib源代码:https://github.com/matplotlib/matplotlib
Matplotlib文档:https://matplotlib.org/stable/tutorials/index.html
环境初始化
新建虚拟环境,用于进行环境隔离。
mkvirtualenv matplotlib
安装与启动Jupyter
Jupyter Notebook是一个高效、灵活、易用的交互式计算工具,适用于各种数据分析、建模和可视化等任务。
# 安装
pip install jupyter
# 启动
jupyter notebook
在命令行中输入以下命令即可安装Matplotlib
pip install matplotlib
-m:执行pip模块 -U安装matplotlib包到最新版本
python3 -m pip install -U matplotlib
查看matplotlib库的版本号
import matplotlib
print(matplotlib.__version__)
基本使用
1.导入Matplotlib
使用Matplotlib绘图库,首先需要导入Matplotlib库才能使用它的功能
import matplotlib.pyplot as plt
2.创建画布
创建一个新的画布:通过
plt.figure()可以设置画布的尺寸、标题等属性。
如果不显式调用
plt.figure(),Matplotlib会自动创建一个默认大小和属性的画布。
当直接调用其他Matplotlib函数(如 plt.plot(), plt.scatter() 等)时,Matplotlib会自动创建一个新的画布。
# figsize:指定图的长宽
# dpi:图像的清晰度
plt.figure(figsize=(6, 5), dpi=100)
3.绘制图表
Matplotlib提供了许多不同类型的图表,可以使用plt.plot()函数绘制折线图,plt.scatter()函数绘制散点图,plt.bar()函数绘制柱状图等等。
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]
plt.plot(x, y)
4.设置图表属性
Matplotlib提供了许多方法来设置图表的属性,如标题、标签、颜色、线型等等
plt.plot(x, y, color='red', linestyle='--', linewidth=2)
plt.title('My Plot')
plt.xlabel('X Axis')
plt.ylabel('Y Axis')
5.显示图表
使用plt.show()函数用于显示图表
plt.show()
在Jupyter Notebook使用编辑运行代码,得到设置了折线颜色为红色,线型为虚线,线宽为2的图表。
基本绘图
Matplotlib能够绘制折线图、散点图、柱状图、直方图、饼图。
matplotlib.pytplot包含了一系列类似于matlab的画图函数。 它的函数作用于当前图形(figure)的当前坐标系(axes)。
绘制折线图
以折线的上升或下降来表示统计数量的增减变化的统计图。
特点:能够显示数据的变化趋势,反映事物的变化情况
关注点:变化
# 导入matplotlib
import matplotlib.pyplot as plt
# 创建画布 figsize:画布大小 dpi:像素密度
plt.figure(figsize=(10,5), dpi=100)
# 绘制图像
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 4, 6]
plt.plot(x, y)
# 显示图像
plt.show()
绘制散点图
用两组数据构成多个坐标点,考察坐标点的分布,判断两变量之间是否存在某种关联或总结坐标点的分布模式。
特点:判断变量之间是否存在数量关联趋势,展示离群点
关注点:分布规律
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 4, 6]
plt.scatter(x, y)
plt.show()
绘制柱状图
排列在工作表的列或行中的数据可以绘制到柱状图中。
特点:绘制连离散的数据,能够一眼看出各个数据的大小,比较数据之间的差别
关注点:统计与对比
import matplotlib.pyplot as plt
x = ["A", "B", "C", "D", "E"]
y = [2, 4, 6, 4, 6]
plt.bar(x, y)
plt.show()
绘制直方图
由一系列高度不等的纵向条纹或线段表示数据分布的情况。 一般用横轴表示数据范围,纵轴表示分布情况。
特点:绘制连续性的数据展示一组或者多组数据的分布状况
关注点:统计
import matplotlib.pyplot as plt
x = [131, 98, 125, 131, 124, 139, 131, 117, 128, 108, 135, 138, 131, 102, 107,
114, 119, 128, 121, 142, 127, 130, 124, 101, 110, 116, 117, 110, 128, 128, 115, 99, 136
, 126, 134, 95, 138, 117, 111,78, 132, 124, 113, 150, 110, 117, 86, 95, 144, 105, 126
, 130,126, 130, 126, 116, 123, 106, 112, 138, 123, 86, 101, 99, 136,123, 117, 119, 10]
plt.hist(x_value,bins=10)
plt.title("data analyze")
plt.xlabel("X")
plt.ylabel("Y")
plt.show()
绘制饼图
用于表示不同分类的占比情况,通过弧度大小来对比各种分类。
特点:分类数据的占比情况
关注点:占比
import matplotlib.pyplot as plt
labels = ["A", "B", "C", "D", "E"]
sizes = [10, 20, 30, 20, 20]
plt.pie(sizes, labels=labels)
plt.show()