在Bokeh中使用线性颜色映射器

问题描述 投票:0回答:1

我打算用线性颜色映射器创建散点图。数据集是流行的女性识字和出生率数据集。

该图将在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的问题。我想帮助理解如何解决这个问题。

python visualization bokeh graph-visualization
1个回答
0
投票

field_name参数应该提供列的名称。您正在提供整个数据列本身。由于您没有提供完整的可运行示例,因此无法进行测试,但可能您需要:

linear_cmap(field_name="Birth rate", ...)
© www.soinside.com 2019 - 2024. All rights reserved.