Ваша цель - построить (lons
, lats
) точки в плоскости xy с меткой на каждой. Это один из способов сделать это:
import csv, matplotlib.pyplot as plt
names, lats, lons = [], [], []
with open('file.csv') as csvfile:
reader = csv.reader(csvfile,delimiter=',')
for data in reader:
names.append(str(data[0]))
lats.append(float(data[1]))
lons.append(float(data[2]))
fig, ax = plt.subplots()
ax.scatter(lats, lons, marker='*', s=400) # play with 's' to control the dot size
pad = " " # play with this to pad the label from the dot
for i, n in enumerate(names):
ax.annotate(pad+str(n), (lats[i], lons[i]))
plt.savefig("scatter.png") # you will find scatter.png file in the same directory
Это scatter.png
Я получаю:
с этим file.csv
CSV-файлом:
n1,1,8
n4,7,2
n2,3,14
n7,13,4
n5,9,6
n6,11,12
n3,5,10
n8,15,18
n9,17,16