Отрегулируйте размер всплывающих окон фолиума

#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» не определено