- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章python用folium绘制地图并设置弹窗效果由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
官方说明:folium.link. 。
Map(location=None, width=‘100%', height=‘100%', left=‘0%', top=‘0%', position=‘relative', tiles=‘OpenStreetMap', attr=None, min_zoom=0, max_zoom=18, zoom_start=10, min_lat=- 90, max_lat=90, min_lon=- 180, max_lon=180, max_bounds=False, crs=‘EPSG3857', control_scale=False, prefer_canvas=False, no_touch=False, disable_3d=False, jpg_enabled=False, zoom_control=True, **kwargs) 。
Parameters 参数说明 。
m = folium.Map(location=[45.523, -122.675], width=750, height=500)m = folium.Map(location=[45.523, -122.675], tiles='cartodb positron')m = folium.Map( location=[45.523, -122.675], zoom_start=2, tiles='https://api.mapbox.com/v4/mapbox.streets/{z}/{x}/{y}.jpg?access_token=mytoken', attr='Mapbox attribution'...)
m = folium.Map(location=[45.372, -121.6972], zoom_start=12, tiles="Stamen Terrain")tooltip = "Click me!"folium.Marker( [45.3288, -121.6625], popup="<i>Mt. Hood Meadows</i>", tooltip=tooltip).add_to(m)
tooltip:点击标记后弹出的信息 popup:鼠标放标记上显示的信息 。
m = folium.Map(location=[45.372, -121.6972], zoom_start=12, tiles="Stamen Terrain")folium.Marker( location=[45.3288, -121.6625], popup="Mt. Hood Meadows", icon=folium.Icon(icon="cloud"),).add_to(m)folium.Marker( location=[45.3311, -121.7113], popup="Timberline Lodge", icon=folium.Icon(color="green"),).add_to(m)folium.Marker( location=[45.3300, -121.6823], popup="Some Other Location", icon=folium.Icon(color="red", icon="info-sign"),).add_to(m)
点击任意位置出现经纬度folium.LatLngPopup() 。
m = folium.Map(location=[46.1991, -122.1889], tiles="Stamen Terrain", zoom_start=13)m.add_child(folium.LatLngPopup())
打点功能:点击任意位置出现标记,再点击弹出信息 。
m = folium.Map(location=[46.8527, -121.7649], tiles="Stamen Terrain", zoom_start=13)folium.Marker([46.8354, -121.7325], popup="Camp Muir").add_to(m)m.add_child(folium.ClickForMarker(popup="Waypoint"))
允许显示任何HTML对象 。
m = folium.Map(location=[46.3014, -123.7390], zoom_start=7, tiles="Stamen Terrain")folium.Marker( location=[47.3489, -124.708], popup=folium.Popup(max_width=450).add_child( folium.Vega(vis1, width=450, height=250) ),).add_to(m)
可以参考的代码 html参考链接 。
。
用folium绘制中国的政策地图,城市的政策汇总在一个excel表中。要实现的效果是政策可视化,点击某一个城市,可以弹出这个城市所有的政策.
import foliumimport webbrowser as wbimport numpy as npimport xlrdimport pandas as pdfrom folium import CustomIcondef get_data(): ''' return: df_data:返回城市对应的编号,经纬度 df_policy:返回城市的政策名称、链接、编号 ''' file_name = 'policy.xls' all_data = xlrd.open_workbook(file_name) table = all_data.sheet_by_name('num_lat_lon') df_data = pd.DataFrame(columns=['city','number','latitude','longitude']) for i in range(1,table.nrows): df_data.loc[i] = table.row_values(i) table_policy = all_data.sheet_by_name('policy') df_policy = pd.DataFrame(columns=['number','name','link']) for i in range(1,table_policy.nrows): df_policy.loc[i,'number'] = table_policy.cell(i,3).value df_policy.loc[i,'name'] = table_policy.cell(i,1).value df_policy.loc[i,'link'] = table_policy.cell(i,2).value return df_data, df_policy # 中文转换def parse_zhch(s): return str(str(s).encode('ascii' , 'xmlcharrefreplace'))[2:-1]def show_map(df_data,df_policy): ''' 可以使用高德地图或默认地图 m = folium.Map(zoom_start=4,zoom_control=True,tiles='http://webrd02.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=7&x={x}&y={y}&z={z}',attr='default') ''' # 默认地图 m = folium.Map(location=[39.904,116.408],zoom_start=4,zoom_control=True,tiles='OpenStreetMap') for i in range(1,len(df_data)): # 得到该城市的编号、经纬度 number = df_data.loc[i,'number'] latitude = df_data.loc[i,'latitude'] longitude = df_data.loc[i,'longitude'] tip = df_data.loc[i,'city'] # 获取城市编号对应的所有政策和链接的行索引 city_index = df_policy[df_policy.number == number].index.tolist() # 将城市名称和链接放同一个list中 s=[] for i in city_index: s.append(df_policy.loc[i,'name']) s.append(df_policy.loc[i,'link']) # 计算最大长度 length = [] for i in range(len(s)): length.append(len(s[i])) WIDTH = max(length) # 点击弹出内容和弹出框大小设置 ss='' for i in range(len(s)): ss = ss + s[i] + '</br>' pop = folium.Popup(html=ss,max_width=WIDTH*10) icon = CustomIcon(icon_image ='loc.jpg',icon_size=(20, 20)) # tooltip:悬浮弹出信息;popup:点击出现信息 folium.Marker([latitude,longitude],icon=icon, popup=pop,tooltip=parse_zhch(tip)).add_to(m) m.save('map.html') wb.open('map.html')if __name__ == '__main__': df_data,df_policy = get_data() show_map(df_data,df_policy)
实现效果:
到此这篇关于python用folium绘制地图并设置弹窗效果的文章就介绍到这了,更多相关python folium绘制地图内容请搜索我以前的文章或继续浏览下面的相关文章希望大家以后多多支持我! 。
原文链接:https://blog.csdn.net/weixin_43238031/article/details/119965981 。
最后此篇关于python用folium绘制地图并设置弹窗效果的文章就讲到这里了,如果你想了解更多关于python用folium绘制地图并设置弹窗效果的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我学习 SDL 二维编程已有一段时间了,现在我想创建一个结合使用 SDL 和 OpenGL 的程序。我是这样设置的: SDL_Init(SDL_INIT_VIDEO); window = SDL_Cr
尝试查找可在地块中使用的不同类型项目的列表 来自不同样本的投影类型: projection = list(type = "equirectangular") projection = list(typ
我正在尝试使用 Java Graphics API 绘制 GIF,但无法使用下面的代码成功绘制 GIF。仅绘制 GIF 的第一张图像或缩略图,但不播放。 public void paintCompon
我目前正在使用 JFrame 并尝试绘制一个矩形,但我不知道如何执行代码 paint(Graphics g),如何获取 Graphics 对象? package com.raggaer.frame;
这个领域的新手,希望得到一些帮助。 我有一个"Missile.java" 类,我在那里画东西。我想绘制一个 ImageView,我正在使用以下代码: ImageView v = (ImageView)
下面列出了圆形的例子 这是我的 JavaScript 代码。 最佳答案 假设您的 randomColor 是正确的,您只需要: 从 canvas.onclick 中移除 context.clearR
我在绘制和缩放 ImageView 时遇到问题。请帮帮我.. 当我画一些东西然后拖动或缩放图像时 - 绘图保留在原处,如您在屏幕截图中所见。而且我只需要简单地在图片上绘图,并且可以缩放和拖动这张图片。
我们可以在形式之外绘制图像和文本...我的意思是在字面上... 我知道问这个问题很愚蠢但是我们能不能... 最佳答案 您可以通过创建表单并将其 TransparentColor 属性设置为背景色来“作
我在绘制/布局期间收到 3 个对象分配警告 super.onDraw(canvas); canvas.drawColor(Color.WHITE); Paint textPaint = new Pai
我有一个示例时间序列数据框: df = pd.DataFrame({'year':'1990','1991','1992','1993','1994','1995','1996',
我试图想出一种简洁的方法来绘制 R 数据框中所有列的 GridView 。问题是我的数据框中既有离散值又有数值。为简单起见,我们可以使用 R 提供的名为 iris 的示例数据集。我会使用 par(mf
我有一个由 10 列和 50 行组成的 data.frame。我使用 apply 函数逐列计算密度函数。现在我想绘制我一次计算的密度。 换句话说,而不是绘图... plot(den[[1]]) plo
我想知道我们如何才能在第一个和第二个组件之外绘制个人,如下所示: 最佳答案 这可能有效: pc.cr <- princomp(USArrests, cor = TRUE) pairs(pc.cr$lo
我是Pandas和matplotlib的新手,想绘制此DataFrame season won team matches pct_won 0 20
我正在尝试为 distplot 子图编写一个 for 循环。 我有一个包含许多不同长度列的数据框。 (不包括 NaN 值) fig = make_subplots( rows=len(asse
我想创建一个具有密度的 3d 图。 我使用函数 density 首先为特定的 x 值创建一个二维图,然后该函数创建密度并将它们放入 y 变量中。现在我有第二组 x 值并将其再次放入密度函数中,然后我得
全部, 我一直在研究全局所有 MTB 步道的索引。我是 Python 人,所以对于所有涉及的步骤,我都尝试使用 Python 模块。 我能够像这样从 OSM 立交桥 API 中获取关系: from O
我正在使用 e1071 包中的支持向量机对我的数据进行分类,并希望可视化机器实际如何进行分类。但是,在使用 plot.svm 函数时,出现无法解决的错误。 脚本: library("e1071") d
我制作了以下图表,它是使用 xts 对象创建的。 我使用的代码很简单 plot(graphTS1$CCLL, type = "l", las = 2, ylab = "(c)\nCC for I
在绘制状态图时,您如何知道哪些状态放在框中,哪些状态用于转换箭头?我注意到转换也是状态。 我正在查看 this page 上的图 1 : 最佳答案 转换不是状态。转换是将对象从一种状态移动到下一种状态
我是一名优秀的程序员,十分优秀!