MatPlotLib散点图都具有相同的颜色

时间:2017-06-26 22:13:27

标签: python pandas numpy matplotlib colormap

我在MatPlotLib中创建一个散点图,我试图使点的颜色依赖于第三个参数(独立于X和Y)。但是,设置c = third_variable会使所有点都具有相同的颜色。

我的绘图数据位于字典中,其中x和y数据的元组作为键,第三个参数(频率,范围从1到约1000)作为其值。示例项目:{[2 10]:50}

我希望点的颜色与频率相关联。作为一个起点,我想让高频点更暗,低频点更亮。

这是我当前的输出:current output 这是我的代码:

for key in pairs_hash:
    plt.scatter(key[0], key[1], c=pairs_hash[key], cmap=plt.cm.coolwarm)

plt.show()

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

我猜你的主要不良设计选择是一次一个点地绘制循环中的点。为什么不一次全部绘制它们?

xy, z = zip(*pairs_hash.items())
x, y = zip(*xy)
plt.scatter(x, y, c=z, cmap=plt.cm.coolwarm)
plt.show()