python设置两个填色图共用一个色标
时间: 2024-11-25 16:13:23 浏览: 3
在Python中,特别是在matplotlib库中创建填充区域图(填充图像是area charts或filled plots)时,如果想要让两个不同区域共享相同的颜色刻度,你可以通过使用`colorbar`函数和`twinx()`方法来实现。这两个函数允许你在同一个坐标轴上添加额外的颜色条,用于显示不同的数据系列。
下面是一个简单的示例:
```python
import matplotlib.pyplot as plt
# 创建第一个数据系列
data1 = [1, 4, 9, 16, 25]
x = range(1, len(data1) + 1)
# 创建第二个数据系列
data2 = [2**n for n in x] # 比如y = 2^n
fig, ax1 = plt.subplots()
ax1.fill_between(x, data1, color='green', alpha=0.5) # 绿色填充区
ax1.set_ylabel('Series 1', color='green') # Series 1 的标签
ax2 = ax1.twinx() # 创建一个共享x轴的新坐标轴
ax2.fill_between(x, data2, color='red', alpha=0.5) # 红色填充区
ax2.set_ylabel('Series 2', color='red') # Series 2 的标签
# 设置共享的颜色条
cax = fig.add_axes([0.9, 0.1, 0.02, 0.8]) # 添加颜色条的位置
fig.colorbar(mappable=ax1.collections[0], cax=cax, label='Color Scale')
plt.show()
阅读全文