Как изменить цвет линии стрелки в боке? - PullRequest
0 голосов
/ 14 мая 2019

Я хочу нарисовать стрелку между двумя точками на карте, используя боке.Я смог сделать это с помощью следующего кода.Я могу изменить цвет стрелки, но не цвет линии или тип черты линии.Похоже, свойства существуют только для головы.Есть ли свойство для изменения цвета линии и типа штриховой линии (или) альтернативным методом для достижения того же самого?

from bokeh.plotting import figure, show, save
from bokeh.models import (Arrow, OpenHead)
from bokeh.io import curdoc, output_notebook, output_file, export_png
from bokeh.tile_providers import CARTODBPOSITRON_RETINA
from pyproj import Proj, transform

def latlonrange(lat1,lon1,lat2,lon2):
    p1 = Proj(init='epsg:4326')
    p2 = Proj(init='epsg:3857')    
    x1, y1 = transform(p1,p2,lon1,lat1)
    x2, y2 = transform(p1,p2,lon2,lat2)
    return {"x_range":(x1, x2), "y_range":(y1,y2)}   
def to_mercx(lat,lon):
    p1 = Proj(init='epsg:4326')
    p2 = Proj(init='epsg:3857')    
    x, y = transform(p1,p2,lon,lat)
    return x
def to_mercy(lat,lon):
    p1 = Proj(init='epsg:4326')
    p2 = Proj(init='epsg:3857')    
    x, y = transform(p1,p2,lon,lat)
    return y

curdoc().clear()
latlonbox = latlonrange(49.54, -127.28, 23.15, -66.24)
output_notebook()

p = figure(title="Map",
           x_range=latlonbox["x_range"], y_range=latlonbox["y_range"],
           x_axis_type="mercator", y_axis_type="mercator",
           plot_width=1280, plot_height=800,
           tools="pan,wheel_zoom,box_zoom,reset,zoom_in,zoom_out,save",
           output_backend="webgl")
p.add_tile(CARTODBPOSITRON_RETINA)

p.add_layout(Arrow(end=OpenHead(line_color="#a4225f", size=10, line_width=1),
                   x_start=-9416152.41, y_start=3994480.89, x_end=-9166023.45, y_end=3242606.81))

show(p) 

Output

боке версия - 1.0.2

1 Ответ

1 голос
/ 14 мая 2019

Вы передали line_color на OpenHead. Если вы хотите изменить цвет стержня стрелки, вам также нужно передать line_color в Arrow. Они представляют собой отдельные компоненты, каждый со своей отдельной конфигурацией. Тот же комментарий относится к line_dash.

...