Это возможно, так как я сделал демонстрацию для вашего дела в блокноте (см. Код ниже). Кажется, ваша проблема связана со структурой вашего GeoJSON.
import folium
lines = {"type":"FeatureCollection","features":[{"type":"Feature","properties":{"color": "#0000ff", "stroke-width": 1},"geometry":{"type":"LineString","coordinates":[[-1.64794921875,46.46813299215554],[-0.94482421875,47.724544549099676],[-0.263671875,47.97521412341618]]}},{"type":"Feature","properties":{"color": "#00ff00", "stroke-width": 1},"geometry":{"type":"LineString","coordinates":[[-0.263671875,47.97521412341618],[1.58203125,48.67645370777654],[1.8896484375,48.32703913063476],[2.3291015625,48.37084770238366]]}},{"type":"Feature","properties":{"color": "#ff0000", "stroke-width": 1},"geometry":{"type":"LineString","coordinates":[[2.3291015625,48.37084770238366],[2.548828125,48.60385760823255],[3.01025390625,48.66194284607006],[3.251953125,48.42920055556841],[3.5815429687499996,48.531157010976706],[3.779296875,48.32703913063476]]}}]}
m1 = folium.Map(location=[45, 1], zoom_start=6)
style_function = lambda x: {
'color' : x['properties']['color'],
'weight' : x['properties']['stroke-width']
}
folium.GeoJson(lines, style_function=style_function).add_to(m1)
m1
Вы можете увидеть иллюстрированный результат (в центре Франции из-за GeoJSON, который я использовал)