Цветная карта на точечной диаграмме
У меня есть три столбца в файле 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, но я не знаю, с чего начать.
Я могу создать цветную карту в Origin, используя функцию 'color mapped', но как я могу сделать это на Python?
1 ответ
plt.scatter(x_vals, y_vals, c = z_vals, cmap = 'rainbow')
Вы захотите поиграть с добавлением s= и выбором подходящего размера для очков. Есть также красивый набор цветовых карт под названием cmocean, который вы, возможно, захотите установить