python - Python Bokeh:fill_color in 的问题。Choropleth Map 用灰色填充,但值为零。可能是范围问题?
问题描述
我对使用 Python 非常陌生,尤其是对使用 Bokeh 库很陌生。我正在尝试绘制美国的 Choropleth 地图,每个州的填充颜色对应于他们一年的蜜蜂数量。
当您将鼠标悬停在它上面时,它会显示该值,但只有值为零的状态才有颜色。
我知道我认为导致问题的范围(最小值:0,最大值:310,000)存在很大差异。如何更改颜色图的范围以不使用灰色填充所有较高的值?
以下代码供参考:
from bokeh.models import LogColorMapper
from bokeh.palettes import YlGnBu9 as YlGnBu
from bokeh.sampledata.us_states import data as us_states
import pandas as pd
import numpy as np
bee_pop = pd.read_csv('./BeePopulation.csv')
us_states_df = pd.DataFrame(us_states).T
us_states_df = us_states_df[~us_states_df["name"].isin(['Alaska', "Hawaii", "District of
Columbia"])]
us_states_df["lons"] = us_states_df.lons.values.tolist()
us_states_df["lats"] = us_states_df.lats.values.tolist()
us_states_df = us_states_df.reset_index()
bee_2016 = bee_pop[bee_pop['Year']==2016]
us_states_df = us_states_df.merge(bee_2016[["State", "Pop"]], how="left", left_on="index",
right_on="State")
us_states_df.head()
us_states_datasource = {}
us_states_datasource["lons"] = us_states_df.lons.values.tolist()
us_states_datasource["lats"] = us_states_df.lats.values.tolist()
us_states_datasource["name"] = us_states_df.name.values.tolist()
us_states_datasource["BeePop"] = us_states_df.Pop.values.tolist()
fig = figure(plot_width=900, plot_height=600,
title="United Bee Population Per State Choropleth Map",
x_axis_location=None, y_axis_location=None,
tooltips=[
("Name", "@name"), ("Bee Population", "@BeePop")
])
fig.grid.grid_line_color = None
fig.patches("lons", "lats", source=us_states_datasource,
fill_color={'field': 'BeePop', 'transform': LogColorMapper(palette=YlGnBu[::-1])},
fill_alpha=0.7, line_color="white", line_width=0.5)
show(fig)
先感谢您!
解决方案
推荐阅读
- reactjs - 将新数据添加到数据库时对本机更新平面列表做出反应
- javascript - React Native - sometimes app freezes when opened from background
- c# - 如何将数据作为 Json 响应写入 .NET Core 中的 HttpResponse
- python - 使用 Python 更改 IE 设置
- javascript - PDFObject 在浏览器中未正确显示
- css - 通过 CSS 更改内容 url 在 Firefox 中不起作用
- postgresql - 使用另一个表中的列添加 CHECK 约束
- reactjs - withNavigation 只能用于导航器 React Native 论文的视图层次结构
- java - 如何控制动态改造2响应对象
- python - 从 C++ 调用 Python 脚本以持续流式传输数据