- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Folium 的半圆插件 ( https://github.com/syberworld/Folium-SemiCircle )。它有默认的蓝色:
我尝试使用一些传单方法,例如line_color、color、fill_color,但它们似乎没有实现。
这是代码:
import folium
from folium import plugins
m = folium.Map(
width='100%', height='100%',
location=[39.217, 9.136],
zoom_start=14,
tiles='CartoDB positron'
)
def add_semicircle(location,azimute, m, radius=2000, arc=30, popup=None):
x = plugins.SemiCircle(
location=location, # Location of center
radius= radius, # Radius in meters
direction = azimute,
line_color = 'red',
opacity = 0,
icon_color='red',
arc = arc
)
x.add_child(folium.Popup(popup))
x.add_to(m)
add_semicircle([39.217, 9.136],270, m,arc=30)
display(m)
有什么办法可以改变这些颜色吗?
最佳答案
我对 folium semicircle 插件进行了更改,以便它可以接受缺少的选项。我提出了合并请求。以下是 semicircle.py 新类的代码(以防未更新):
# -*- coding: utf-8 -*-
from __future__ import (absolute_import, division, print_function)
import json
from branca.element import Figure, JavascriptLink
from folium.map import Marker
from folium.utilities import validate_location
from jinja2 import Template
class SemiCircle(Marker):
"""
Creates a Semicircle plugin to append into a map with
Map.add_plugin.
Use (direction and arc) or (startAngle and stopAngle)
Parameters
----------
location: tuple of length 2, default None
The latitude and longitude of the marker.
If None, then the middle of the map is used.
radius: int, default 0
Radius of semicircle
direction: int, default 0
Heading of direction angle value between 0 and 360 degrees
arc: int, default 0
Heading of arc angle value between 0 and 360 degrees.
startAngle: int, default 0
Heading of the start angle value between 0 and 360 degrees
stopAngle: int, default 0
Heading of the stop angle value between 0 and 360 degrees.
"""
_template = Template(u"""
{% macro script(this, kwargs) %}
if ({{this.direction}} || {{this.arc}}) {
var {{this.get_name()}} = L.semiCircle(
[{{this.location[0]}},{{this.location[1]}}],
{radius:{{this.radius}},
fill: {{this.fill}},
fillColor:'{{this.fill_color}}',
fillOpacity: {{this.fill_opacity}},
color: '{{this.color}}',
opacity: {{this.opacity}}
}).setDirection({{this.direction}},{{this.arc}})
.addTo({{this._parent.get_name()}});
} else if ({{this.startAngle}} || {{this.stopAngle}}) {
var {{this.get_name()}} = L.semiCircle(
[{{this.location[0]}},{{this.location[1]}}],
{radius:{{this.radius}},
fill: {{this.fill}},
fillColor:'{{this.fill_color}}',
fillOpacity: {{this.fill_opacity}},
color: '{{this.color}}',
opacity: {{this.opacity}},
startAngle:{{this.startAngle}},
stopAngle:{{this.stopAngle}}
})
.addTo({{this._parent.get_name()}});
}
{% endmacro %}
""")
def __init__(self,
location,
radius=0,
fill = True,
fill_color='#3388ff',
fill_opacity = 0.5,
color = '#3388ff',
opacity = 1,
direction=0,
arc=0,
startAngle=0,
stopAngle=0, **kwargs):
super(SemiCircle, self).__init__( validate_location(location), **kwargs)
self._name = 'SemiCircle'
self.radius = radius
if fill == True:
self.fill = 'true'
else: self.fill = 'false'
self.fill_color = fill_color
self.fill_opacity = fill_opacity
self.color = color
self.opacity = opacity
self.direction = direction
self.arc = arc
self.startAngle = startAngle
self.stopAngle = stopAngle
self.fill_color = fill_color
self.kwargs = json.dumps(kwargs)
def render(self, **kwargs):
super(SemiCircle, self).render(**kwargs)
figure = self.get_root()
assert isinstance(figure, Figure), ('You cannot render this Element '
'if it is not in a Figure.')
figure.header.add_child(
JavascriptLink('http://jieter.github.io/Leaflet-semicircle/Semicircle.js'),
name='semicirclejs')
关于python - Folium:如何更改半圆插件中的填充颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57227249/
我想在 map 上显示一些地理位置,但我希望 map 图钉图标显示数字而不是默认 map 图钉。 有没有办法做到这一点? 我检查了 Font Awesome 图标,但它没有用。 下面是我的代码: im
我有两个 choropleth 层,我想在其中添加 GeoJsonTooltip,但我一直收到错误 TypeError: __init__() missing 1 required positiona
我有一张使用以下代码生成的纽约市街区 map : m = folium.Map(location=[40.7035, -73.990], zoom_start=16.5,
我一直在尝试理解来自 folium 的 TimestampedGeoJson 插件。 我想绘制随时间改变颜色的线条。目前,我所做的是每次需要更改颜色时完全重画一条线,这会带来巨大的开销。 另一个问题是
我正在使用 Folium 的半圆插件 ( https://github.com/syberworld/Folium-SemiCircle )。它有默认的蓝色: 我尝试使用一些传单方法,例如line_c
使用 Folium 0.3.0 运行 Python 3.5.2。 我正在尝试创建自定义弹出窗口,每当我单击包含数据的特定国家/地区时就会出现。我设法让弹出窗口出现,但我迷失了将值动态传递给它们的过程。
我有一个带有路线起点和终点经纬度的 Pandas DataFrame,所以这些是我的列('origin_lat、'origin_lon'、destination_lat'、'destination_l
我有一张由 folium 绘制的 map 如下: m = folium.Map(location = [51.1657,10.4515], zoom_start=6, min_zoom = 5, ma
我正在尝试使用我的数据通过 folium 制作热图。下面是我的代码,但我不断收到错误消息:RecursionError: maximum recursion depth exceeded我不知道这意味
我阅读了许多与此相关的文档,但找不到我要找的东西。 我想绘制两点之间的步行路径。是否可以?如果没有,python 中是否还有其他库用于此目的? 最佳答案 当然可以。使用 PolyLine : impo
我正在尝试根据 df 列中的数字范围为大叶中的标记设置颜色范围。我使用以下代码绘制了标记,但我不知道从哪里开始分配颜色范围。 m = folium.Map(location=[39.2904, -76
我希望每个弹出窗口都有柱的名称和 WB100 列表中的位置,列:柱,wb_pos。这是我的代码,由于某些原因每个标记的弹出窗口都相同 =“东京”请参阅随附的数据框和输出。 请看下面的部分数据框: da
如何并排显示两张 folium map ?(类似于下图,但我希望显示 folium map ,而不是 matplotlib 图表) 编辑:我想在 jupyter 笔记本中显示这些 map 。这是我当前
我正在使用 MarkerCluster 在 folium 中创建传单 map 。我已经查阅了所有文档并搜索了示例,但我无法弄清楚如何为给定的 MarkerCluster 或 FeatureGroup
我正在为 Folium 编写一个包装器,用于绘制我经常使用的数据。我的类(class)看起来像... """ Plot journeys using Folium """ import folium
我正在使用 folium 制作纽约公寓价格的热图。我正在尝试使用我自己的颜色渐变。当我在热图函数中指定梯度参数时,我的 map 上没有显示任何内容。有谁知道如何生成我们自己的颜色渐变以及理想情况下 m
我正在使用基于 json 文件创建的 folium map 。我使用 branca.colormap 添加了 颜色图,并且我想添加背景颜色,因为生成的颜色图可能会在其后面的 map 上有一些颜色,这会
我正在策划美国空军在朝鲜 war 期间对朝鲜执行的任务。 以下是2800个地 block 的 map 。 我总共有大约 7500 个图,但是每当我尝试在 2800 以上绘制时,都会渲染一个空白 map
我在 python 中有这段代码并显示 map 。 import folium from IPython.display import HTML, display city_location = [-
用一个像这样的简单例子: import folium map_1 = folium.Map(location=[45.372, -121.6972], zoom_start=12,
我是一名优秀的程序员,十分优秀!