如何用Matplotlib绘制以颜色条展示Y2的散点图?
问题解决:让散点图颜色条对应Y2特征
你当前代码中,scatter函数的c参数传入的是Y,导致颜色映射的是Y的值,因此颜色条也对应Y。要实现颜色条关联Y2的需求,只需将c参数替换为Y2即可。
修正后的代码如下:
import matplotlib.cm as cm import matplotlib.pyplot as plt X = [110, 120, 130, 140, 150] Y = [0.1, 0.2, 0.3, 0.4, 0.5] Y2 = [5, 4, 3, 2, 1] plt.title('X vs Y vs Y2') plt.xlabel('X') plt.ylabel('Y') # 将c参数从Y改为Y2,让颜色映射Y2的值 points1 = plt.scatter(X, Y, c=Y2, cmap="rainbow", alpha=1) cbar = plt.colorbar(points1) cbar.set_label('Y2') plt.show() # 加上该行确保图形正常显示
修改后,散点颜色会随Y2的数值变化,右侧颜色条也会正确对应Y2的取值范围,和你预期的效果一致。
内容的提问来源于stack exchange,提问作者Vui Chee Chang
相关产品推荐
相关产品推荐

