在Bokeh中使用嵌套类别绘制堆叠的vbar(垂直条形图)可以通过以下步骤实现:
from bokeh.io import output_file, show
from bokeh.models import ColumnDataSource
from bokeh.plotting import figure
data = {
'categories': ['A', 'B', 'C', 'D'], # 类别
'subcategories': ['X', 'Y', 'Z'], # 子类别
'values': [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]] # 值
}
source = ColumnDataSource(data=data)
p = figure(x_range=data['categories'], plot_height=250, title='Stacked vbar')
p.vbar_stack(data['subcategories'], x='categories', width=0.9, color=['red', 'green', 'blue'], source=source)
x_range
:设置x轴的范围为类别列表。plot_height
:设置图的高度。title
:设置图的标题。vbar_stack
:创建堆叠的vbar图,其中data['subcategories']
为子类别列表,x='categories'
表示x轴使用类别,width=0.9
设置条形的宽度,color=['red', 'green', 'blue']
设置条形的颜色,source=source
使用之前创建的数据源。p.y_range.start = 0 # 设置y轴起始值为0
p.xgrid.grid_line_color = None # 隐藏x轴网格线
p.legend.location = 'top_left' # 设置图例位置
p.legend.title = 'Subcategories' # 设置图例标题
p.xaxis.axis_label = 'Categories' # 设置x轴标签
p.yaxis.axis_label = 'Values' # 设置y轴标签
output_file('stacked_vbar.html') # 输出到HTML文件
show(p) # 展示图
y_range.start
:设置y轴起始值为0。xgrid.grid_line_color
:隐藏x轴网格线。legend.location
:设置图例位置。legend.title
:设置图例标题。xaxis.axis_label
:设置x轴标签。yaxis.axis_label
:设置y轴标签。output_file
:将图输出到HTML文件。show
:展示图。这样,就可以使用嵌套类别在Bokeh中绘制堆叠的vbar图了。
Bokeh是一个用于创建交互式可视化图表的Python库,它提供了丰富的功能和灵活的API,适用于各种数据可视化需求。堆叠的vbar图适用于展示多个类别和子类别之间的关系和比较,常用于展示不同类别下的子类别数值的堆叠情况。
腾讯云提供的相关产品和产品介绍链接地址如下:
领取专属 10元无门槛券
手把手带您无忧上云