我打算用线性颜色映射器创建散点图。数据集是流行的女性识字和出生率数据集。
该图将在x轴上具有“人均GDP”,在y轴上具有“出生时的预期寿命”。除此之外(这是我遇到问题的地方),是根据“出生率”改变点的颜色。
现行代码:
#DATA MANIPULATION
# import Pandas, Bokeh, etc
import numpy as np
import pandas as pd
from bokeh.io import show, output_file
from bokeh.models import ColumnDataSource
from bokeh.palettes import Viridis256 as palette
from bokeh.plotting import figure
from bokeh.sampledata.autompg import autompg as df
from bokeh.transform import linear_cmap
# load the data file
excel_file = '../factbook.xlsx'
#(removed url above since it is private)
factbook = pd.read_excel(excel_file)
source = ColumnDataSource(factbook)
colormapper = linear_cmap(field_name = factbook["Birth rate"], palette=palette, low=min(factbook["Birth rate"]), high=max(factbook["Birth rate"]))
p = figure(title = "UN Factbook Bubble Visualization",
x_axis_label = 'GDP per capita', y_axis_label = 'Life expectancy at birth')
p.circle(x = 'GDP per capita', y = 'Life expectancy at birth', source = source, color =colormapper)
output_file("file", title="Bubble Graph")
show(p)
p.circle行遇到了使用colormapper的问题。我想帮助理解如何解决这个问题。
field_name
参数应该提供列的名称。您正在提供整个数据列本身。由于您没有提供完整的可运行示例,因此无法进行测试,但可能您需要:
linear_cmap(field_name="Birth rate", ...)