Matplotlib是python科学计算中最基础、最重要的绘图库,是Python中最流行的数据可视化库之一,它提供了大量的绘图函数和工具,可以让用户创建各种类型的图表和图形,一般使用matpltlib完全可以满足我们绘图需求,当然现在也出现了seaborn这样的构建在matplotlib之上绘图库,能够一定程度上简化我们绘图过程。但是它的基础还是matplotlib,所有利用python进行数据分析可视化,学习matplotlib是必须要打的基础。
在使用Matplotlib之前,我们需要先安装它。可以通过pip命令来安装Matplotlib:
pip install matplotlib
如果你使用的是Anaconda环境,也可以通过Anaconda Navigator来安装Matplotlib。
安装完Matplotlib后,我们需要将其导入到Python脚本中:
import matplotlib.pyplot as plt
这行代码会将Matplotlib的pyplot模块导入,并将其重命名为plt。
Matplotlib提供了多种绘图函数,其中常用的有以下几种:
1.折线图:plot()
折线图是一种显示数据变化趋势的类型。我们使用plot()函数来创建折线图,示例代码如下:
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [1, 4, 9, 16, 25]
plt.plot(x, y)
plt.show()
这个程序会生成一个简单的折线图,其中x轴表示1到5的整数,y轴表示x的平方值。
除了以上代码,还可以通过format字符串来设置线条颜色和样式,例如’dashed’、‘dotted’、'solid’等。示例代码如下:
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [1, 4, 9, 16, 25]
plt.plot(x, y, 'r--')
plt.show()
其中’r’表示红色,'–'表示虚线。
2.散点图:scatter()
散点图是一种显示两个变量之间关系的类型。我们使用scatter()函数来创建散点图,示例代码如下:
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [1, 4, 9, 16, 25]
plt.scatter(x, y)
plt.show()
这个程序会生成一个简单的散点图,显示x和y之间的关系。
除了以上代码,还可以通过c参数来设置点的颜色,s参数来设置点的大小,alpha参数来设置点的透明度等。示例代码如下:
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [1, 4, 9, 16, 25]
plt.scatter(x, y, c='red', s=50, alpha=0.5)
plt.show()
3.柱状图:bar()
柱状图是一种用于比较不同变量值之间差异的类型。我们使用bar()函数来创建柱状图,示例代码如下:
import matplotlib.pyplot as plt
x = ['A', 'B', 'C', 'D', 'E']
y = [5, 7, 3, 8, 4]
plt.bar(x, y)
plt.show()
这个程序会生成一个简单的柱状图,显示x和y之间的差异。
除了以上代码,还可以通过width参数来设置柱子的宽度,color参数来设置颜色等。示例代码如下:
import matplotlib.pyplot as plt
x = ['A', 'B', 'C', 'D', 'E']
y = [5, 7, 3, 8, 4]
plt.bar(x, y, width=0.5, color='red')
plt.show()
4.直方图:hist()
直方图是一种用于展示数据分布情况的类型。我们使用hist()函数来创建直方图,示例代码如下:
import matplotlib.pyplot as plt
data = [1, 2, 3, 3, 4, 5, 5, 5, 6, 7]
plt.hist(data)
plt.show()
这个程序会生成一个简单的直方图,显示data中数据的分布情况。
5.饼状图:pie()
饼状图是一种用于展示数据占比情况的类型。我们使用pie()函数来创建饼状图,示例代码如下:
import matplotlib.pyplot as plt
labels = ['A', 'B', 'C', 'D']
sizes = [15, 30, 45, 10]
plt.pie(sizes, labels=labels)
plt.show()
这个程序会生成一个简单的饼状图,显示不同标签占据的百分比。
除了以上代码,还可以通过explode参数来突出某些扇形,autopct参数来显示百分比等。示例代码如下:
import matplotlib.pyplot as plt
labels = ['A', 'B', 'C', 'D']
sizes = [15, 30, 45, 10]
explode = (0.1, 0, 0, 0)
plt.pie(sizes, explode=explode, labels=labels, autopct='%1.1f%%')
plt.show()
在绘图时,我们可以通过设置图形属性来调整其外观和样式。
1.图形标题、坐标轴标签:title(), xlabel(), ylabel()
我们可以使用title()函数来添加图形标题,xlabel()函数来添加x轴标签,ylabel()函数来添加y轴标签。示例代码如下:
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [1, 4, 9, 16, 25]
plt.title('My Plot')
plt.xlabel('X axis')
plt.ylabel('Y axis')
plt.plot(x, y)
plt.show()
2.图例:legend()
当我们在一个图中绘制多个数据系列时,可以使用legend()函数添加图例。示例代码如下:
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y1 = [1, 4, 9, 16, 25]
y2 = [1, 2, 3, 4, 5]
plt.plot(x, y1, label='series1')
plt.plot(x, y2, label='series2')
plt.legend()
plt.show()
这个程序会生成一个带有图例的折线图,其中显示了两个数据系列。
除了以上代码,还可以通过loc参数来设置图例位置,例如’upper right’、'lower left’等。示例代码如下:
plt.legend(loc='upper right')
3.图形大小:figure()
我们可以使用figure()函数来调整图形大小。示例代码如下:
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [1, 4, 9, 16, 25]
plt.figure(figsize=(8, 6))
plt.plot(x, y)
plt.show()
这个程序会生成一个大小为8x6英寸的折线图。
除了以上代码,还可以通过dpi参数来设置图形分辨率等。
最后,我们可以使用savefig()函数将已经创建好的图形保存为图片文件。例如:
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [1, 4, 9, 16, 25]
plt.plot(x, y)
plt.savefig('myplot.png')
这个程序会生成一个名为myplot.png的PNG图片文件,其中包含了我们所绘制的折线图。
Matplotlib是一个非常强大的数据可视化库,可以让我们轻松地创建各种类型的图表和图形。在本文中,我们介绍了如何安装和导入Matplotlib,并介绍了一些常用的绘图函数和设置图形属性的方法,以及如何将已经创建好的图形保存为图片文件。这些知识可以帮助你更好地使用Matplotlib来实现数据可视化。
在下期将介绍Matplotlib更为详细的用法,敬请期待。