#python #pandas #leaflet #folium
Вопрос:
Номер сайта | Описание сайта | Region_Site | Широта | Долгота | S1_AverageSpeed | s1_85-я скорость | S2_AverageSpeed | S2_85thSpeed | S3_AverageSpeed | S3_85thSpeed | String_for_Popup |
---|---|---|---|---|---|---|---|---|---|---|---|
1.0 | А6093 | Пенкайтленд, А6093 (Участок 1) | 55.91 | -2.89 | 25.15 | 30.07 | 25.78 | 30.55 | NaN | NaN | Site Number: 1.0 Description: A6093 S1 Average Speed: 25.15 S1 85th %ile Speed: 30.07 S2 Average Speed: 25.78 S2 85th %ile Speed: 30.55 S3 Average Speed: nan S3 85th %ile Speed: nan ‘ |
2.0 | Главная дорога B1345 | Дирлтон, Главная дорога B1345 (Участок 2) | 56.05 | -2.78 | 23.14 | 28.23 | 23.0 | 28.54 | 22.04 | 26.72 | Site Number: 2.0 Description: B1345 Main Road S1 Average Speed: 23.14 S1 85th %ile Speed: 28.23 S2 Average Speed: 23.0 S2 85th %ile Speed: 28.54 S3 Average Speed: 22.04 S3 85th %ile Speed: 26.72 |
3.0 | Главная дорога | Макмерри, Главная дорога (Участок 3) | 55.94 | -2.91 | 29.72 | 34.05 | 26.88 | 32.4 | NaN | NaN | Site Number: 3.0 Description: Main Road S1 Average Speed: 29.72 S1 85th %ile Speed: 34.05 S2 Average Speed: 26.88 S2 85th %ile Speed: 32.4 S3 Average Speed: nan S3 85th %ile Speed: nan |
Я работаю с таблицей, подобной приведенной выше, и я написал код для построения каждого набора широт и долгот с помощью всплывающего окна, равного всплывающей строке, которая содержит предварительно отформатированные строки HTML.
map = folium.Map(location=[new_df.Latitude.mean(), new_df.Longitude.mean()], zoom_start=12, control_scale=True,min_zoom=10,max_zoom=12)
for index, location_info in new_df.iterrows():
folium.Marker([location_info["Latitude"], location_info["Longitude"]], popup=location_info["String_for_Popup"], tooltip=location_info["Site_Description"]).add_to(map)
Это действительно позволяет отобразить все точки с правильным всплывающим окном, однако размер всплывающего сообщения слишком узок, и поэтому строка разбивается на несколько строк, как показано на рисунке ниже:
Есть ли способ настроить ширину всплывающих окон, чтобы каждое значение могло поместиться в отдельной строке?
Комментарии:
1. Как показано в ответе, вы можете изменить его следующим образом.
folium.Marker([location_info["Latitude"], location_info["Longitude"]], popup=folium.Popup(location_info["String_for_Popup"], max_width=300, min_width=300), tooltip=location_info["Site_Description"]).add_to(map)
Ответ №1:
Вот пример, который сработал для меня:
fgroup.add_child(folium.Marker(location=[39.28173017251679, -74.5628182419811],
popup=folium.Popup("Golfing, Jetskiing and surfing", max_width=300,min_width=300),
icon=folium.Icon(color='red')))
Комментарии:
1. Какой именно код вы использовали? К сожалению, я получаю следующую ошибку: Ошибка имени: имя «fgroup» не определено