matplotlib ----- 同一线条的不同颜色
时间: 2023-07-12 21:39:38 浏览: 192
要实现同一线条的不同颜色,可以使用Matplotlib中的渐变色colormap(cmap)和连续的颜色映射。下面是一个简单的示例代码:
```python
import numpy as np
import matplotlib.pyplot as plt
# 生成数据
x = np.linspace(0, 10, 1000)
y = np.sin(x)
# 定义颜色映射
cmap = plt.get_cmap('coolwarm')
# 绘图
fig, ax = plt.subplots()
norm = plt.Normalize(0, 10)
sm = plt.cm.ScalarMappable(cmap=cmap, norm=norm)
sm.set_array([])
# 绘制渐变线
line, = ax.plot(x, y, color='k')
line.set_color(sm.to_rgba(x))
# 添加颜色条
plt.colorbar(sm)
# 显示图形
plt.show()
```
在这个例子中,我们首先生成了一些x和y值,然后定义了一个颜色映射cmap。接下来,我们使用`plt.Normalize`方法来将x值归一化到0到10的范围内,然后使用`plt.cm.ScalarMappable`方法创建一个颜色映射,它将x值映射到该范围内的颜色。然后我们使用`set_color`方法将渐变色赋给线条,最后添加一个颜色条来说明颜色的映射。
阅读全文