📜  Python Bokeh - 制作饼图(1)

📅  最后修改于: 2023-12-03 15:04:04.293000             🧑  作者: Mango

Python Bokeh - 制作饼图

Bokeh是一个用于创建交互式数据可视化的Python库。它提供了丰富的可视化工具和选项,其中之一是制作饼图。饼图是一种常用的统计图表,用于显示各类别在总体中的比例。

安装 Bokeh

要使用Bokeh,首先需要安装它。可以使用pip命令来安装Bokeh:

pip install bokeh
创建饼图

下面是一个简单的示例代码,展示了如何使用Bokeh创建饼图:

from bokeh.plotting import figure, show
from bokeh.io import output_notebook
from bokeh.transform import cumsum
from bokeh.palettes import Category10

# 准备数据
data = {'category': ['A', 'B', 'C', 'D', 'E'],
        'value': [10, 30, 20, 25, 15]}

# 计算各类别的百分比
data['angle'] = data['value'] / data['value'].sum() * 2 * pi

# 创建图表
p = figure(plot_height=350, title="饼图", toolbar_location=None,
           tools="hover", tooltips="@category: @value")

# 绘制饼图
p.wedge(x=0, y=1, radius=0.4,
        start_angle=cumsum('angle', include_zero=True), end_angle=cumsum('angle'),
        line_color='white', fill_color=factor_cmap('category', Category10[5], data['category']))

# 隐藏坐标轴
p.axis.axis_label = None
p.axis.visible = False
p.grid.grid_line_color = None

# 在Jupyter Notebook中展示饼图
output_notebook()
show(p)
代码解析
  • 引入需要的Bokeh类和函数:figure, show, output_notebook, cumsum, Category10
  • 准备饼图数据:一个包含类别和对应值的字典。
  • 计算饼图的角度值:每个类别的值除以总值,乘以2π。
  • 创建一个图表对象:通过figure函数创建一个标题为"饼图"的图表。
  • 绘制饼图:使用wedge方法绘制饼图,并使用factor_cmap函数对类别进行颜色映射。
  • 隐藏坐标轴和网格:通过axis属性和grid属性进行设置。
  • 在Jupyter Notebook中展示饼图:使用output_notebook函数启用在Jupyter Notebook中显示图表,并使用show函数展示图表。
运行程序

将以上代码保存为一个Python脚本,并运行它。将会在Jupyter Notebook中显示一个交互式饼图。

以上是使用Python Bokeh制作饼图的简单介绍,希望对你有帮助!