如何为matplotlib散点图显示颜色对应的Z值图例
2D散点图添加Z值颜色图例实现
你需要为颜色映射到Z值的散点添加对应图例,现有初始代码如下:
x = [1, 2, 3, 4, 5] y = [1, 2, 3, 4, 5] z = [3, 8.5, 2.1, 1.8, 9] fig1, ax1 = plt.subplots() ax1.scatter(x, y, linewidths=1, alpha = .7, edgecolor= 'k', s=200, c=z) plt.show()
修改方案
散点通过c参数映射数值到颜色时,对应的图例为颜色条,直接关联scatter返回的映射对象即可生成,修改后完整代码:
import matplotlib.pyplot as plt x = [1, 2, 3, 4, 5] y = [1, 2, 3, 4, 5] z = [3, 8.5, 2.1, 1.8, 9] fig1, ax1 = plt.subplots() # 保存散点颜色映射对象 scatter_plot = ax1.scatter(x, y, linewidths=1, alpha=0.7, edgecolor='k', s=200, c=z) # 绑定颜色条,作为Z值对应图例 color_bar = plt.colorbar(scatter_plot) # 设置色条标签,明确对应Z值 color_bar.set_label('Z值') plt.show()
- 注意必须接收
ax1.scatter()的返回值,该对象存储了颜色和Z值的映射关系,是生成正确颜色条的前提 - 可通过给
scatter()传入cmap参数自定义配色方案,例如cmap="coolwarm"、cmap="YlGnBu" - 可通过
color_bar.set_ticks()自定义色条刻度位置,适配你的Z值分布范围
内容的提问来源于stack exchange,提问作者js23698
相关产品推荐
相关产品推荐

