Matplotlib绘制二维图
时间: 2025-05-07 10:51:58 浏览: 15
### 使用 Matplotlib 绘制二维图形
Matplotlib 是一个强大的 Python 数据可视化库,能够创建多种类型的二维图表。为了更好地理解如何使用 Matplotlib 进行绘图,下面提供了一些常见二维图表的绘制方法和示例。
#### 折线图
折线图用于展示数据随时间或其他连续变量的变化趋势。通过 `plot` 方法可以很容易地实现这一点:
```python
import matplotlib.pyplot as plt
# 创建一些测试数据
x_values = [0, 1, 2, 3, 4, 5]
y_values = [0, 2, 1, 3, 7, 5]
plt.plot(x_values, y_values)
plt.title('Simple Line Chart')
plt.xlabel('X Axis Label')
plt.ylabel('Y Axis Label')
plt.show()
```
这段代码展示了最基础的折线图绘制方式[^1]。
#### 散点图
当需要表示两个数值型特征之间的关系时可以选择散点图。利用 `scatter` 函数来完成此操作:
```python
import numpy as np
import matplotlib.pyplot as plt
N = 50
x = np.random.rand(N)
y = np.random.rand(N)
colors = np.random.rand(N)
area = (30 * np.random.rand(N)) ** 2
plt.scatter(x, y, s=area, c=colors, alpha=0.5)
plt.title('Scatter Plot Example')
plt.grid(True)
plt.show()
```
这里定义了一组随机数作为坐标值,并设置了不同大小的颜色标记以增强视觉效果。
#### 条形图/柱状图
对于分类数据或者离散分布情况下的比较分析,则适合采用条形图或柱状图形式呈现出来。可以通过调用 `bar` 或者 `barh` 命令分别构建垂直方向上的条形图以及水平排列版本:
```python
objects = ('Python', 'C++', 'Java', 'Perl', 'Scala', 'Lisp')
performance = [10,8,6,4,2,1]
plt.bar(objects, performance, align='center', alpha=0.5)
plt.xticks(rotation=45)
plt.ylabel('Usage')
plt.title('Programming language usage')
plt.show()
# 对于横向条形图只需更改命令为 barh 即可获得相同的效果。
```
上述例子中还演示了旋转标签角度以便更清晰显示文字信息的功能[^2]。
#### 直方图
如果要统计某个范围内各个区间内的频次数目的话就该考虑直方图了。借助内置好的 hist() 接口参数设置 bin 数量即可快速得到结果:
```python
mu, sigma = 100, 15
x = mu + sigma * np.random.randn(10000)
num_bins = 50
n, bins, patches = plt.hist(x, num_bins, density=True, facecolor='green', alpha=0.5)
plt.xlabel('Smarts')
plt.ylabel('Probability')
plt.title(r'Histogram of IQ: $\mu=100$, $\sigma=15$')
plt.subplots_adjust(left=0.15)
plt.show()
```
以上就是几种常用的二维图表类型及其对应的 Matplotlib 实现方案介绍。
阅读全文
相关推荐












