背景虚化使输入后没有绘制图表我

问题描述 投票:-2回答:1

看到背景虚化的能力后,我开始使用它。现在我想用我的数据集创建一个Vbar。

我的数据集(10行)

dataset

我已经阅读了很多次教程,并使用了官方文档提供的示例:

https://hub.mybinder.org/user/bokeh-bokeh-notebooks-ate6xt0k/notebooks/tutorial/07%20-%20Bar%20and%20Categorical%20Data%20Plots.ipynb

from bokeh.models import ColumnDataSource
from bokeh.palettes import Spectral6

fruits = ['Apples', 'Pears', 'Nectarines', 'Plums', 'Grapes', 'Strawberries']
counts = [5, 3, 4, 2, 4, 6]

source = ColumnDataSource(data=dict(fruits=fruits, counts=counts, color=Spectral6))

p = figure(x_range=fruits, plot_height=250, y_range=(0, 9), title="Fruit Counts")
p.vbar(x='fruits', top='counts', width=0.9, color='color', legend="fruits", source=source)

p.xgrid.grid_line_color = None
p.legend.orientation = "horizontal"
p.legend.location = "top_center"

show(p)

我尝试使用自己的数据集进行复制。

from bokeh.models import ColumnDataSource
from bokeh.palettes import Spectral6


source = ColumnDataSource(top_ten_start)

p = figure(x_range='Bank_name', plot_height=250, y_range=(0, 90), title="BAnks")
p.vbar(x='Bank_name', top='Tier_1_ratio', width=0.9, legend="test", source=source)

p.xgrid.grid_line_color = None
p.legend.orientation = "horizontal"
p.legend.location = "top_center"

show(p)

我期望看到的柱状图所示的教程,但没有什么是密谋。我想通过替换“x_range”,“plot”和“x”的输入来完成它就足够了。也许以下信息会有所帮助:

这些是dtypes:

Country_code     object
Bank_name        object
Tier_1_ratio    float64
dtype: object
python bokeh
1个回答
0
投票

x_range需要一个分类值列表,但您提供了一个字符串。这将是好的,如果它是一个字形和你使用的是源,但这不是一个字形。我改变了这个变量source.data [“BANK_NAME”]所以它在你的ColumnDataSource使用的银行的名称。

from bokeh.models import ColumnDataSource
from bokeh.plotting import figure, show
from bokeh.palettes import Spectral7
import pandas as pd

top_ten_start = pd.read_csv('top_ten_start.csv')
top_ten_start['color'] = Spectral7

source = ColumnDataSource(top_ten_start)

p = figure(x_range=source.data['Bank_name'], plot_height=750, y_range=(0, 90), title="Banks")
p.vbar(x='Bank_name', top='Tier_1_ratio', width=0.9, legend='Bank_name', source=source, color='color')

p.xgrid.grid_line_color = None
p.xaxis.major_label_orientation = 45

show(p)

Output

© www.soinside.com 2019 - 2024. All rights reserved.