使用for循环创建的散点图。在使用cmap和保留功能方面需要帮助

时间:2019-03-18 14:45:23

标签: python matplotlib

我有一个代码,该代码从文件中提取信息并将此信息绘制在散点图上。绘图已创建,但是现在我希望每个点都具有不同的颜色,以便x轴从蓝色变为红色('bwr'cmap)。本质上,每次程序循环时,我需要一个不同的彩色标记。我不知道如何使这项工作。我正在尝试使用一个计数器,但是那也不起作用。

fig1, ax1 = plt.subplots(figsize=(15,10))
i=0
for path in paths:
     files = glob.glob ('./' + path + 'filename')
     print(files)
     for file in files
          for filtername in filterlist:
               hdu = fits.open(file)
               # Extract information in this loop
               x=xdata
               y=ydata
     ax1.set_xlabel('x-axis')
     ax1.set_ylabel('y-axis')
     ax1.scatter(xdata, ydata, c=i, cmap='bwr')
     plt.hold(True)
savefig('plot')

1 个答案:

答案 0 :(得分:0)

来自docs

  

cmap:颜色图,可选,默认值:无
  颜色图实例或注册的颜色图名称。 仅当c为浮点数数组时使用cmap。如果为None,则默认为rc image.cmap。

如果我正确理解了您想要的内容,请尝试编辑以下行:

get(1)

ax1.scatter(xdata, ydata, c=i, cmap='bwr')

并且应该可以工作。

下面是一个非常简单的示例代码来显示它:

ax1.scatter(xdata, ydata, c=xdata, cmap='bwr')

生成的图像为:

enter image description here