我试图创建一个静态博克地图。我读过一本书的国家将用一种颜色标记,其他国家将用不同的颜色标记。下面的代码试图实现此任务,但是,当我运行它时,地图不会显示
#_______IMPORTS_________
import geopandas as gpd
import pandas as pd
import os
from bokeh.io import output_notebook, show, output_file
from bokeh.plotting import figure
from bokeh.models import GeoJSONDataSource, LinearColorMapper, ColorBar
from bokeh.palettes import brewer#Input GeoJSON source that contains features for plotting.
from bokeh.sampledata.sample_geojson import geojson
#______ LOADING THE SHAPEFILE ______
shapefile = '~/Desktop/WorldBookMap/ne_110m_admin_0_countries/ne_110m_admin_0_countries.shp'
#______ SIMPLIFY COLUMN NAMES IN SHAPEFILE ______
gdf = gpd.read_file(shapefile)[['ADMIN', 'ADM0_A3', 'geometry']]
gdf.columns = ['country', 'country_code', 'geometry']
print(gdf.head())
#______ LOADING THE BOOK DATA (1 = READ,0=DID NOT READ) ______
datafile = '~/Desktop/BookStats.csv'
df = pd.read_csv(datafile, names = ['entity', 'code', 'read'], skiprows = 1)
print(df.head())
#______ CHLOROPLETH MAP ______
merged = gdf.merge(df, left_on = 'country_code', right_on = 'code')
#______ READING DATA TO JSON ______
import json
merged_json = json.loads(merged.to_json())
json_data = json.dumps(merged_json)
#______ VISUALIZING ______
geosource = GeoJSONDataSource(geojson=json_data)
palette = brewer['YlGnBu'][8]
palette = palette[::-1]
color_mapper = LinearColorMapper(palette = palette, low = 0, high = 1)
tick_labels = {0: '0%', 1: '100%'}
color_bar = ColorBar(color_mapper=color_mapper, label_standoff=8,width = 500, height = 20,
border_line_color=None,location = (0,0), orientation = 'horizontal', major_label_overrides = tick_labels)
p = figure(title = 'Books from around the world', plot_height = 600 , plot_width = 950, toolbar_location = None)
p.xgrid.grid_line_color = None
p.ygrid.grid_line_color = None
p.patches('xs','ys', source = geosource,fill_color = {'field' :'Read', 'transform' : color_mapper},
line_color = 'black', line_width = 0.25, fill_alpha = 1)
p.add_layout(color_bar, 'below')
output_file("geojson.html")
show(p)
目前没有回答
相关问题 更多 >
编程相关推荐