Python绘图神器Matplotlib:各种炫酷折线图实战

作者:快去debug2024.01.17 21:53浏览量:21

简介:本文将介绍如何使用Matplotlib库绘制各种不同类型的折线图,包括网格线、趋势线、对比图、百分比图、多条折线图、堆积图、百分比堆积图、多坐标子图以及3D折线图。通过实战代码,我们将深入了解这些图形的绘制方法和应用场景。

在Python中,Matplotlib是一个非常强大的绘图库,可以用来绘制各种类型的折线图。下面我们将通过一些实战代码来介绍如何绘制不同类型的折线图,并了解它们的实际应用。
1. 网格线折线图
网格线折线图是一种常见的折线图,它可以用来展示数据在不同时间段的变化趋势。下面是一个简单的示例代码,用于绘制网格线折线图:

  1. import matplotlib.pyplot as plt
  2. # 创建数据
  3. x = [1, 2, 3, 4, 5]
  4. y = [2, 3, 5, 7, 11]
  5. # 绘制网格线折线图
  6. plt.plot(x, y)
  7. plt.grid(True)
  8. plt.show()

2. 趋势线折线图
趋势线折线图可以用来展示数据随时间或其他变量的变化趋势。下面是一个示例代码,用于绘制趋势线折线图:

  1. import numpy as np
  2. import matplotlib.pyplot as plt
  3. # 创建数据
  4. x = np.linspace(0, 10, 100)
  5. y = np.sin(x)
  6. # 绘制趋势线折线图
  7. plt.plot(x, y)
  8. plt.plot(x, np.cos(x), 'r--') # 添加趋势线
  9. plt.show()

3. 对比折线图
对比折线图可以用来比较两组或多组数据在不同时间或其他变量上的差异。下面是一个示例代码,用于绘制对比折线图:
```python
import matplotlib.pyplot as plt
import numpy as np

创建数据

x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)

绘制对比折线图

plt.plot(x, y1, label=’sin(x)’)
plt.plot(x, y2, label=’cos(x)’)
plt.legend() # 显示图例
plt.show()
**4. 百分比折线图** 百分比折线图可以用来展示数据的百分比变化情况。下面是一个示例代码,用于绘制百分比折线图:python
import matplotlib.pyplot as plt
import numpy as np

创建数据(以销售额为例)

sales = [10000, 12000, 15000, 18000, 22000]
date = np.array([2022, 2023, 2024, 2025, 2026]) # 以年份为例作为横坐标值。假设2022年销售额为1万。以此类推。计算出每年的增长百分比。再根据增长百分比画出百分比折线图。计算公式为:(当前年份销售额 - 上一年销售额)/上一年销售额 100%。即:(12000 - 1万)/1万 100% = 20%。以此类推。画出每年的增长百分比折线图。plt.plot(date, [(s-sales[0])/sales[0]*100 for s in sales]) # 根据公式计算出每年的增长百分比,并使用matplotlib的plot函数画出每年的增长百分比折线图。plt.show() # 显示图形。```python