在绘图基础上加底图
import matplotlib.pyplot as plt
from matplotlib.patches import Circle
import matplotlib.image as mpimg
image = mpimg.imread('xihu_2km.jpg')
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
plt.rcParams.update({'font.size': 8})
plt.figure(dpi=400)
ax = plt.gca()
# 在当前的Axes对象上显示图像
ax.imshow(image)
Chongtucircle = Circle((250,300.73), fill=False,radius=100, edgecolor="orange",label='a circle',linestyle='--',linewidth=0.7)
zhiyuancircle1 = Circle((380,200.73), fill=False,radius=80, edgecolor="purple",label='a circle',linestyle='--',linewidth=0.7)
zhiyuancircle2 = Circle((400,400.73), fill=False,radius=60, edgecolor="blue",label='a circle',linestyle='--',linewidth=0.7)
plt.scatter(250,300.73,color="orange")
plt.scatter(380,200.73,color="purple")
plt.scatter(400,400.73,color="blue")
plt.text(250,300.73,"西湖基站参考位置1",size=10)
plt.text(380,200.73,"西湖基站参考位置2",size=10)
plt.text(400,400.73,"西湖基站参考位置3",size=10)
plt.gca().add_patch(Chongtucircle)
plt.gca().add_patch(zhiyuancircle1)
plt.gca().add_patch(zhiyuancircle2)
plt.title('杭州西湖密集区域基站覆盖区域图_比例尺为2km:120')
plt.legend((Chongtucircle,zhiyuancircle1,zhiyuancircle2),
('参考点1覆盖','参考点2覆盖','参考点3覆盖'))
plt.show()
结果展示