python怎么在等经纬度地图上画圆圈

知道某点经纬度,知道半径为公里,怎么以那个经纬度为圆心,以半径画圆,类似于下图两个黑色圆圈,它们分别是以南京和鞍山为圆心画的圆,要求画的图精确,考虑地球曲率

img

用Python的folium库。首先安装folium库,可以用以下命令安装:

pip install folium

然后,你可以使用以下代码在地图上画圆:

import folium

# 圆心经纬度和半径(单位:米)
circle_center = (31.22, 121.48)  # 上海
circle_radius = 10000  # 10公里

# 创建地图对象
m = folium.Map(location=circle_center, zoom_start=10)

# 在地图上画圆
folium.Circle(
    location=circle_center,
    radius=circle_radius,
    color='#000000',  # 黑色
    fill=True,
    fill_color='#000000',  # 黑色
    fill_opacity=0.5,
).add_to(m)

# 保存地图为HTML文件
m.save("map.html")

这段代码会创建一个以上海为圆心,半径为10公里的圆。根据实际需要修改圆心经纬度和半径。最后,它会将地图保存为一个HTML文件,你可以在浏览器中打开查看。

  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/170074
  • 这篇博客你也可以参考下:Python-元组,从基础到进阶用法大总结及与列表核心区别,进来查漏补缺
  • 同时,你还可以查看手册:python- 作用域和命名空间示例 中的内容
  • 除此之外, 这篇博客: python画折线图中的 最近要画论文中的图,参考了一下之前的论文里面的图,觉得人家画的不错(见下图),想画一下,但是一直也没找到合适的画法,最近潜心研究,终于解决了这个问题,写一下,供大家参考 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 在这里插入图片描述
    乍一看,这个图挺唬人的,因为它横坐标有17个(0-16)点,但是仔细看看,就会发现中间的点都是跳跃连接的,根本没有点,有点的地方只是0,1,2,4,8,16.而且0点上只有一个点,所以怎么跳跃过去还得让它把横坐标的数字均匀的显示出来是个问题,我找了很多博客,结果最后不能跳跃连接,而且0那个点不显示。实在是苦恼了我很久,今天终于看到一本书解决了这个问题,记录下来,供大家参考。话不多说,上代码:

    import matplotlib.pyplot as plt
    
    
    styles = plt.style.available
    CLIP_Adapter = [19, 22, 26, 31, 38]
    COOP = [5, 18, 22, 27.5, 34]
    linear_Clip = [13, 18, 22, 30, 36]
    input_values = [1, 2, 4, 8, 16]
    fig, ax = plt.subplots()
    ax.plot(input_values, CLIP_Adapter, linewidth=3, marker='o', mec='r', mfc='w', label='CLIP-Adapter', color='#9B59B6')
    ax.plot(input_values, COOP, linewidth=3, marker='8',  label='COOP', color='#E67C1F')
    ax.plot(input_values, linear_Clip, linewidth=3, marker='*', label='linear probe Clip', color='#5490B9')
    plt.scatter(0, 17.55, marker='D', label='Zero-Shot CLIP', color='#204969')
    plt.subplots_adjust(bottom=0.10)
    # 设置背景颜色
    plt.rcParams['axes.facecolor'] = 'white'
    # 设置背景线条样式
    plt.grid(linestyle='--')
    plt.xlabel('Number of labeled training examples per class')  # X轴标签
    plt.ylabel("Score(%)")  # Y轴标签
    plt.margins(0.15)
    plt.legend()
    # plt.savefig("FGVCAircraft.jpg")
    fig.show()
    
    
    

    最后的结果如下图所示:
    在这里插入图片描述
    没有刻意去调它的颜色和数字,最后展示的结果和原图基本一致,希望能帮到大家。

  • 您还可以看一下 CSDN就业班老师的Python爬虫技术和浏览器模拟,验证码识别视频教程课程中的 验证码信息识别小节, 巩固相关知识点