散点图上的颜色图

Colour Map on scatter plot

我在一个 csv 文件中有三列,内容如下:

X,Y, Cosine efficiency
989.565,670.17,0.868684456
660.941,-1502.48,0.597998523
685.683,-1491.35,0.600137189
-1454.88,-316.582,0.666894492
-510.86,1016.79,0.870398677
-1350.21,-788.027,0.61601682
-944.034,-1342.79,0.565497692
-966.098,-1327,0.56678693
-1206.4,-1054.63,0.590095562
1004.18,648.067,0.866589585

我可以通过以下方式读取 X 和 Y 值并绘制散点图:

import csv
# Reading data from csv file
with open('my_file.csv') as csvfile:
readCSV = csv.reader(csvfile, delimiter=',')
    X = []
    Y = []
    C = []

for row in readCSV:
    X_coordinates = row[0]
    Y_coordinates = row[1]
    cos_eff = row[2]
    X.append(X_coordinates)
    Y.append(Y_coordinates)
    C.append(cos_eff)
Xcoordinate = [float(X[c]) for c in range(1,len(X))]
Ycoordinate=[float(Y[c]) for c in range(1,len(Y))]
CosineEff=[float(C[c]) for c in range(1,len(C))]

# Plotting the solar field
plt.figure(1)
plt.scatter(Xcoordinate,Ycoordinate, color = 'blue', s=2)
plt.title("Solar field")
plt.xlabel("Position, east-west [m]"); plt.ylabel("Position, east-west [m]")
plt.show()

现在,我想使用色图制作此散点图,该色图使用第三列中的值。

比如第一个点是:989.565,670.17,0.868684456。我已经绘制了 X 和 Y 坐标 - 在本例中为 989.565 和 670.17。但我想使用颜色图将 0.868684456 的值放在绘制的 X 和 Y 值上。

我想使用 Brewer2mpl 或 pcolour,但我不知道从哪里开始。

我可以使用 'colour mapped' 函数在 Origin 上制作彩色地图,但如何在 Python 上制作?

plt.scatter(x_vals, y_vals,  c = z_vals, cmap = 'rainbow')

您将想要尝试添加 s= 并为点选择合适的大小。还有一个漂亮的colormap set called cmocean,您可能要考虑安装