看到背景虚化的能力后,我开始使用它。现在我想用我的数据集创建一个Vbar。
我的数据集(10行)
我已经阅读了很多次教程,并使用了官方文档提供的示例:
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
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)