Matplotlib示例

Matplotlib示例

参考:Matplotlib Example

Matplotlib是一个非常流行的绘图库,用于创建各种类型的图表和图形。在本文中,我们将讨论一些常见的Matplotlib用法和示例代码。我们将演示如何绘制各种类型的图表,包括线图、散点图、柱状图、饼图等。让我们开始吧!

1. 安装Matplotlib

在介绍具体的示例代码之前,首先需要确保Matplotlib已经安装在您的系统中。您可以使用以下命令来安装Matplotlib:

pip install matplotlib

2. 绘制简单的线图

下面是一个简单的Matplotlib示例代码,用于绘制一条简单的线图:

import matplotlib.pyplot as plt

# 创建数据
x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]

# 绘制线图
plt.plot(x, y)

# 显示图表
plt.show()

Output:

Matplotlib示例

运行上述代码,您将看到一条简单的线图,横轴对应x的值,纵轴对应y的值。

3. 绘制散点图

接下来,我们将演示如何绘制一个散点图:

import matplotlib.pyplot as plt

# 创建数据
x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]

# 绘制散点图
plt.scatter(x, y)

# 显示图表
plt.show()

Output:

Matplotlib示例

运行上述代码,您将看到一张散点图,显示了x和y之间的关系。

4. 绘制柱状图

下面是一个示例代码,用于绘制柱状图:

import matplotlib.pyplot as plt

# 创建数据
x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]

# 绘制柱状图
plt.bar(x, y)

# 显示图表
plt.show()

Output:

Matplotlib示例

运行上述代码,您将看到一张柱状图,每个柱子的高度对应y的值。

5. 绘制饼图

接下来,我们将演示如何绘制一个饼图:

import matplotlib.pyplot as plt

# 创建数据
sizes = [20, 30, 40, 10]
labels = ['Apple', 'Banana', 'Orange', 'Grape']

# 绘制饼图
plt.pie(sizes, labels=labels, autopct='%1.1f%%')

# 显示图表
plt.show()

Output:

Matplotlib示例

运行上述代码,您将看到一个饼图,显示了不同水果的比例。

6. 设置图表标题和标签

您可以使用plt.title()方法来设置图表的标题,使用plt.xlabel()plt.ylabel()方法来设置横纵轴的标签。下面是一个示例代码:

import matplotlib.pyplot as plt

# 创建数据
x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]

# 绘制线图
plt.plot(x, y)

# 设置标题和标签
plt.title('Example Plot')
plt.xlabel('X-axis')
plt.ylabel('Y-axis')

# 显示图表
plt.show()

Output:

Matplotlib示例

运行上述代码,您将看到一条带有标题和标签的线图。

7. 设置图表样式

Matplotlib提供了许多不同的样式选项,您可以使用plt.style.use()方法来设置图表的样式。下面是一个示例代码:

import matplotlib.pyplot as plt

# 设置图表样式为ggplot
plt.style.use('ggplot')

# 创建数据
x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]

# 绘制线图
plt.plot(x, y)

# 显示图表
plt.show()

Output:

Matplotlib示例

运行上述代码,您将看到一条线图,使用了ggplot样式。

8. 设置图例

您可以使用plt.legend()方法来添加图例,用以展示每条线对应的含义。下面是一个示例代码:

import matplotlib.pyplot as plt

# 创建数据
x = [1, 2, 3, 4, 5]
y1 = [2, 3, 5, 7, 11]
y2 = [1, 4, 9, 16, 25]

# 绘制线图
plt.plot(x, y1, label='Line 1')
plt.plot(x, y2, label='Line 2')

# 添加图例
plt.legend()

# 显示图表
plt.show()

Output:

Matplotlib示例

运行上述代码,您将看到一条包含两条线的线图,并显示了相应的图例。

9. 设置坐标轴范围

您可以使用plt.xlim()plt.ylim()方法来设置横纵轴的范围。下面是一个示例代码:

import matplotlib.pyplot as plt

# 创建数据
x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]

# 绘制线图
plt.plot(x, y)

# 设置横轴范围为1-6,纵轴范围为0-15
plt.xlim(1, 6)
plt.ylim(0, 15)

# 显示图表
plt.show()

Output:

Matplotlib示例

运行上述代码,您将看到一条线图,横轴范围为1-6,纵轴范围为0-15。

10. 添加网格线

您可以使用plt.grid()方法来添加网格线。下面是一个示例代码:

import matplotlib.pyplot as plt

# 创建数据
x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]

# 绘制线图
plt.plot(x, y)

# 添加网格线
plt.grid(True)

# 显示图表
plt.show()

Output:

Matplotlib示例

运行上述代码,您将看到一条线图,并添加了网格线。

11. 绘制多个图表

您可以使用plt.subplot()方法来在同一张图表中绘制多个子图。下面是一个示例代码:

import matplotlib.pyplot as plt

# 创建数据
x = [1, 2, 3, 4, 5]
y1 = [2, 3, 5, 7, 11]
y2 = [1, 4, 9, 16, 25]

# 绘制第一个子图
plt.subplot(2, 1, 1)
plt.plot(x, y1)

# 绘制第二个子图
plt.subplot(2, 1, 2)
plt.plot(x, y2)

# 显示图表
plt.show()

Output:

Matplotlib示例

运行上述代码,您将看到一张包含两个子图的图表。

12.继续输出:

12. 自定义线条样式和颜色

您可以使用不同的线条样式和颜色来区分不同的线条。下面是一个示例代码:

import matplotlib.pyplot as plt

# 创建数据
x = [1, 2, 3, 4, 5]
y1 = [2, 3, 5, 7, 11]
y2 = [1, 4, 9, 16, 25]

# 绘制线图,并设置线条样式和颜色
plt.plot(x, y1, linestyle='--', color='b', label='Line 1')
plt.plot(x, y2, linestyle='-.', color='r', label='Line 2')

# 添加图例
plt.legend()

# 显示图表
plt.show()

Output:

Matplotlib示例

运行上述代码,您将看到两条线,分别使用了不同的线条样式和颜色。

13. 添加文本注释

您可以使用plt.text()方法在图表中添加文本注释。下面是一个示例代码:

import matplotlib.pyplot as plt

# 创建数据
x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]

# 绘制线图
plt.plot(x, y)

# 添加文本注释
plt.text(3, 5, 'Point', fontsize=12, color='r')

# 显示图表
plt.show()

Output:

Matplotlib示例

运行上述代码,您将看到一条线图,并在指定位置添加了文本注释。

14. 绘制3D图

Matplotlib也支持绘制3D图,您可以使用mpl_toolkits.mplot3d模块来创建3D图表。下面是一个示例代码:

import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
import numpy as np

# 创建3D图表
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

# 生成数据
x = np.linspace(-5, 5, 100)
y = np.linspace(-5, 5, 100)
X, Y = np.meshgrid(x, y)
Z = np.sin(np.sqrt(X**2 + Y**2))

# 绘制3D曲面图
ax.plot_surface(X, Y, Z)

# 显示图表
plt.show()

Output:

Matplotlib示例

运行上述代码,您将看到一个3D曲面图。

15. 绘制动态图

您可以使用Matplotlib实现动态图的绘制,在每次更新数据后重新绘制图表。下面是一个示例代码:

import matplotlib.pyplot as plt
import numpy as np

# 创建数据
x = np.arange(0, 10, 0.1)
y = np.sin(x)

# 创建图表
fig, ax = plt.subplots()
line, = ax.plot(x, y)

# 更新数据并重新绘制
for i in range(100):
    y = np.sin(x + i * 0.1)
    line.set_ydata(y)
    plt.draw()
    plt.pause(0.1)

# 显示图表
plt.show()

Output:

Matplotlib示例

运行上述代码,您将看到一个动态图,显示了sin函数随时间变化的曲线。

16. 绘制气泡图

气泡图是一种用气泡的半径大小来显示数据的图表。下面是一个示例代码:

import matplotlib.pyplot as plt

# 创建数据
x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]
sizes = [20, 50, 80, 100, 150]

# 绘制气泡图
plt.scatter(x, y, s=sizes)

# 显示图表
plt.show()

Output:

Matplotlib示例

运行上述代码,您将看到一个气泡图,气泡的大小根据sizes中的数据而定。

17. 绘制直方图

直方图用于显示数据的分布情况,可以使用plt.hist()方法绘制。下面是一个示例代码:

import matplotlib.pyplot as plt
import numpy as np

# 创建随机数据
data = np.random.randn(1000)

# 绘制直方图
plt.hist(data, bins=30)

# 显示图表
plt.show()

Output:

Matplotlib示例

运行上述代码,您将看到一个直方图,显示了随机数据的分布情况。

18. 绘制等高线图

等高线图用于显示二维数据的分布情况,可以使用plt.contour()方法绘制。下面是一个示例代码:

import matplotlib.pyplot as plt
import numpy as np

# 生成二维数据
x = np.linspace(-5, 5, 100)
y = np.linspace(-5, 5, 100)
X, Y = np.meshgrid(x, y)
Z = np.sin(np.sqrt(X**2 + Y**2))

# 绘制等高线图
plt.contour(X, Y, Z)

# 显示图表
plt.show()

Output:

Matplotlib示例

运行上述代码,您将看到一个等高线图,显示了二维数据的分布情况。

19. 自定义图表尺寸和分辨率

您可以使用plt.figure()方法设置图表的尺寸和分辨率。下面是一个示例代码:

import matplotlib.pyplot as plt

# 创建图表,并设置尺寸和分辨率
plt.figure(figsize=(6, 4), dpi=100)

# 创建数据
x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]

# 绘制线图
plt.plot(x, y)

# 显示图表
plt.show()

Output:

Matplotlib示例

运行上述代码,您将看到一条线图,图表的尺寸为6×4,分辨率为100。

20. 保存图表为图片文件

最后,您可以使用plt.savefig()方法将图表保存为图片文件。下面是一个示例代码:

import matplotlib.pyplot as plt

# 创建数据
x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]

# 绘制线图
plt.plot(x, y)

# 保存图表为图片文件
plt.savefig('example_plot.png')

# 显示图表
plt.show()

Output:

Matplotlib示例

运行上述代码,您将看到一条线图,并且图表将保存为名为example_plot.png的图片文件。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程