使用基于值的色彩映射绘制大量行

时间:2017-10-07 22:19:42

标签: python numpy matplotlib plot colormap

我试图绘制1-d光谱(每个点具有不同值的线)并根据所述值对其进行颜色映射。我还想将这些线绘制为一个单独值(称为redshift)的函数,该值对于每一行都是唯一的。

我有三个数组zwavespec,所有形状(100,9046)(对于100个光谱,每个都有9046个波长通道)。我想根据z绘制每个频谱wave,并根据spec中的波长值对每个频谱进行颜色映射。

这是我的第一次尝试:

for i in range(len(all_wave[0,:])):   
    ax1.scatter(all_wave[:,i],all_z[:,i],c=all_gal[:,i],
    cmap=cm.spectral,marker='s',s=0.5)

结果输出: enter image description here

这与我试图做的非常相似,除了:

  • 我想要行而不是scatter绘图标记。这可能是为什么这个数字需要很长时间才能呈现的部分原因,有100x9046标记。
  • 我希望最终能够绘制(350000,9046)数组,对于我的for循环,它可能会永远占用。使用scatter绘图方法甚至无法绘制如此多的光谱。

我的问题是:

  • 如何在不使用scatter绘图方法的情况下对其进行优化,并且能够colormap每个光谱能够绘制大量光谱,例如{{ 1}}。

0 个答案:

没有答案