Matplotlib 基本功能

Matplotlib 基本功能

Matplotlib是Python的一个绘图库,它通过支持各种图表类型(折线图、散点图、柱状图、饼图、热力图、等高线图、密度图等等)、曲线线型、标注文字、非线性坐标轴等功能来帮助我们在Python中创建可视化图形。Matplotlib支持众多的操作,直接调用绘制函数便能得到简单图形。

阅读更多:Matplotlib 教程

简单的绘图

Matplotlib的图表是通过一些简单的绘制命令很容易创建出来的。例如,下面的代码绘制了一个简单的曲线。使用plot函数时,我们可以通过额外的参数来设置曲线的线型、颜色、点标记等属性。

#导入模块
import matplotlib.pyplot as plt
import numpy as np

#通过Numpy生成一些数据
x = np.linspace(0, 10, 100)
y = np.sin(x)

#创建一个绘图对象
plt.plot(x, y)
#设置图像的x轴和y轴标题
plt.xlabel('x')
plt.ylabel('y')
#在屏幕上显示出来
plt.show()

运行这段代码,会得到一张含有sin函数曲线的图片。

更多的图表类型

除了折线图之外,Matplotlib还支持许多类型的图表。例如直方图:

#导入模块
import matplotlib.pyplot as plt
import numpy as np

#通过Numpy生成一些数据
np.random.seed(0)
x = np.random.randn(1000)

#画出直方图
plt.hist(x, 20)
#设置图形标题
plt.title('Normal distribution')
#在屏幕上显示出来
plt.show()

这里使用了np.random.randn函数生成一组随机数,并通过hist函数绘制了一个直方图。

除了直方图,Matplotlib还支持散点图、柱状图、饼图等图表类型。

使用样式

在Matplotlib中,我们还可以通过使用样式将图表中的颜色、线型、线宽等属性设置成我们喜欢的风格。Matplotlib已经提供了很多内置的样式,我们可以通过plt.style.use函数使用。例如:

#导入模块
import matplotlib.pyplot as plt
import numpy as np

#使用内置的样式
plt.style.use('ggplot')

#通过Numpy生成一些数据
x = np.linspace(0, 10, 100)
y = np.sin(x)

#创建一个绘图对象
plt.plot(x, y)
#设置图像的x轴和y轴标题
plt.xlabel('x')
plt.ylabel('y')
#在屏幕上显示出来
plt.show()

这里使用了ggplot样式,它是一种常用的Matplotlib样式。运行这段代码,我们可以看到曲线的颜色、线型以及背景颜色都发生了变化。

使用子图

在绘制图表时,我们经常需要将多个图表组合在一起显示,这时可以使用Matplotlib提供的子图功能。Matplotlib中的一个Figure对象可以有多个子图对象,并且每个子图对象可以进行单独的绘制和设置。例如,下面的代码绘制了一个包含两个子图的图表。

#导入模块
import matplotlib.pyplot as plt
import numpy as np

#通过Numpy生成一些数据
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)

#创建一个绘图对象
fig, axes = plt.subplots(nrows=1, ncols=2, figsize=(10, 4))

#绘制子图1
axes[0].plot(x, y1)
axes[0].set_title('sin(x)')

#绘制子图2
axes[1].plot(x, y2)
axes[1].set_title('cos(x)')

#在屏幕上显示出来
plt.show()

这里使用了plt.subplots函数创建了一个1行2列的子图布局,并且设置了图形的大小为10×4。然后通过获取子图对象列表axes,对每个子图对象进行绘制和设置。运行这段代码,会得到一张包含两个子图的图片。

数据可视化案例

现在我们来看一个真实的数据可视化案例,来演示如何使用Matplotlib进行数据可视化。

假设我们有一组汽车品牌数据,其中包括品牌名称、销量等指标。我们想要通过数据可视化的方式,探索各个品牌的销量情况。

首先,我们需要读取数据。这里使用了Pandas读取CSV文件的方法。

#导入模块
import pandas as pd
import matplotlib.pyplot as plt

#读取数据
data = pd.read_csv('car_sales.csv')

接着,我们可以通过groupby函数将数据按照品牌名称进行分组,然后计算每个品牌的销量总和。这里我们使用了groupby、sum和reset_index函数。

#按照品牌名称进行分组,并计算销量总和
grouped_data = data.groupby('品牌名称').sum().reset_index()

然后,我们可以使用Matplotlib绘制柱状图来展示不同品牌的销量情况。

#创建一个绘图对象
fig = plt.figure(figsize=(10, 5))

#绘制柱状图
plt.bar(grouped_data['品牌名称'], grouped_data['销量'])

#设置图像标题、x轴和y轴标题
plt.title('汽车品牌销量排名')
plt.xlabel('品牌名称')
plt.ylabel('销量')

#在屏幕上显示出来
plt.show()

这里使用了plt.bar函数绘制了一个柱状图,并设置了各种标题和标签。运行这段代码,会得到一张汽车品牌销量排名的柱状图。

总结

本文介绍了Matplotlib的一些基本功能,包括简单的绘图、更多的图表类型、使用样式、使用子图、以及一个数据可视化案例。Matplotlib是Python中常用的绘图库之一,可以帮助我们轻松完成各种可视化任务。通过掌握Matplotlib的基本使用方法,我们可以更好地处理和展示数据。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程