marker | type | 含义 |
# pandas包用来读取csv文件
import pandas as pd
import matplotlib.pyplot as plt
# offsetbox这个类,是我们绘制图标用的重点类
import matplotlib.offsetbox as os
# read_png方法主要用来读取png图片
from matplotlib._png import read_png
#cn.jpg是我们的背景图,我懒得用shape了,就直接在geoq上面截了一张图。
cn = plt.imread("cn.jpg")
# airportCN是中国机场的数据,有名称和经纬度,用Pandas直接读取了。
xypd = pd.read_csv("airportCN.csv", encoding = 'gb18030')
plt.figure(figsize=(14, 14))
# imshow这个方法用来绘制背景图,extent里面是背景图的范围,参数是
# [xmin,xmax,ymin,ymax]
plt.imshow(cn, zorder=0, extent=[73.572,133.25,3.8,56.6])
# 绘制默认散点图,用红色的十字来标记
plt.scatter(xypd.x,xypd.y,marker="+",c="r",alpha = 1)
plt.show()
# 前面还是一样,绘制背景图
fig,ax = plt.subplots(figsize=(14,14))
plt.imshow(cn, zorder=0, extent=[73.572,133.25,3.8,56.6])
for x1,y1 in zip(xypd.x,xypd.y):
#首先定义一个图片对象,缩放为0.4
image = os.OffsetImage(read_png("AirStrip.png"),zoom=0.4)
# 定义一个叫做AnnotationBbox的标记框
# 这个标记框里面放置我们定义好的图标
img = os.AnnotationBbox(image,(x1,y1),frameon=False)
#add_artist方法,把定义好的标记框加到画布上去
ax.add_artist(img)
联系客服