Advertisement
Guest User

Untitled

a guest
Jul 17th, 2019
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.40 KB | None | 0 0
  1. from bokeh.plotting import figure, show, save
  2. from bokeh.tile_providers import CARTODBPOSITRON_RETINA
  3. from bokeh.io import curdoc, output_notebook, output_file, export_png
  4. from pyproj import Proj, transform
  5. from bokeh.transform import linear_cmap, log_cmap
  6.  
  7. from bokeh.models import (
  8. GeoJSONDataSource, ColumnDataSource, Circle,CircleX,Hex, Square, Patches, LabelSet, HoverTool,Legend, LegendItem, Plot, LinearAxis, Grid, LogColorMapper, LinearColorMapper, ColorBar, BasicTicker,
  9. TapTool,Range1d, PanTool, WheelZoomTool, BoxSelectTool,OpenURL, ZoomInTool, ZoomOutTool, Arrow, OpenHead, NormalHead, VeeHead, LabelSet, Label
  10. )
  11. from bokeh.palettes import *
  12. from haversine import haversine
  13.  
  14. df = pd.DataFrame({'daily_cartons': [478,378,763,859],
  15. 'daily_cartonsPercent': [19,15,31,35],
  16. 'clong': [42.259387,42.235110,42.136309,41.874587],
  17. 'clat': [-71.689145,-71.182045,-71.045608,-71.405451],
  18. 'cx_merc': [-7.980399e+06,-7.923949e+06,-7.908761e+06,-7.948818e+06],
  19. 'cy_merc': [5.199914e+06,5.196263e+06,5.181420e+06,5.142212e+06]
  20. })
  21.  
  22. curdoc().clear()
  23. output_notebook()
  24.  
  25. latlonbox = latlonrange(43, -74, 41, -69)
  26.  
  27. p = figure(title="XXXX",
  28. x_range=latlonbox["x_range"], y_range=latlonbox["y_range"],
  29. x_axis_type="mercator", y_axis_type="mercator",
  30. plot_width=1200, plot_height=750,
  31. tools="pan,wheel_zoom,box_zoom,reset,zoom_in,zoom_out,save")
  32. p.add_tile(CARTODBPOSITRON_RETINA)
  33.  
  34.  
  35. ksource = ColumnDataSource(dict(x=df['cx_merc'], y=df['cy_merc'], daily_cartons = df['daily_cartons'],
  36. daily_cartons_perc = df['daily_cartonsPercent'].astype(str) + '%', lcolor=viridis(4)))
  37.  
  38. kcircle = Circle(x="x", y="y", size=30, line_color="#de2d26", fill_color="white", line_width=2, fill_alpha=1)
  39. kc1 = p.add_glyph(ksource, kcircle)
  40.  
  41. klabels = LabelSet(x='x', y='y', text='daily_cartons_perc', level='glyph', source=ksource, render_mode='canvas',
  42. x_offset=-7, text_font_size = '8pt',text_font_style='bold', text_color = 'black', text_baseline ='middle' )
  43. p.add_layout(klabels)
  44.  
  45. kc1_hover = HoverTool(renderers=[kc1], tooltips=[('Daily_cartons: ', '@daily_cartons{00,000}')])
  46. p.add_tools(kc1_hover)
  47. # #----------------------------------------------------------------------------------------------------------------------------------
  48.  
  49. show(p)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement