📜  Bokeh-楔形和弧形(1)

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

Bokeh-楔形和弧形

Bokeh是一个流行的Python库,用于创建交互式数据可视化。其中之一是楔形和弧形图,这些图可用于表示数据的比例和百分比。

楔形图

楔形图是一种用于表示不同类别中各部分的相对大小的图表。Bokeh中的楔形图可以使用饼图函数创建。例如:

from bokeh.plotting import figure, show
from bokeh.io import output_notebook

output_notebook()

data = {'Apples': 10, 'Oranges': 5, 'Bananas': 7, 'Grapes': 2}
labels = list(data.keys())
values = list(data.values())

p = figure(title='Fruit Distribution')
p.wedge(x=0, y=1, radius=0.4, start_angle=0, end_angle=2*3.14, 
        color=['red', 'orange', 'yellow', 'purple'], 
        legend_label=labels, 
        direction="clock", 
        value=values)
show(p)

此代码将创建一个带有标签'Apples'、'Oranges'、'Bananas'和'Grapes'的四个楔形,并用颜色'红色'、'橙色'、'黄色'和'紫色'填充它们。此代码还创建一个图例来显示标签和颜色。

弧形图

弧形图表示了数据之间的连续关系。它们通常用于表示圆弧之间的旋转度数,从而获得连续的弧形部分。在Bokeh中,您可以使用弧形函数绘制弧形图。例如:

from bokeh.models import ColumnDataSource
from math import radians

source = ColumnDataSource(data=dict(
    start=[0, 0+radians(45), 0+radians(110), 0+radians(260)],
    end=[radians(45), radians(110), radians(260), radians(360)],
    colors=['red', 'orange', 'yellow', 'purple'],
))

p = figure(title='Data Relationships', x_range=(-1,1), y_range=(-1,1))
p.arc(x=0, y=0, radius=1, start_angle='start', end_angle='end', color='colors', 
      source=source, line_width=10)
show(p)

这个代码片段将创建一个具有颜色为'红色'、'橙色'、'黄色'和'紫色'的四个弧形部分的弧形图,并根据弧形起始和结束角度的值将它们放置在圆周上。

结论

Bokeh提供的楔形和弧形图可用于帮助您可视化数据中部分和相对大小之间的关系。此外,Bokeh提供了更多的图表类型和相关的工具,以帮助您在Python中创建完整的交互式数据可视化。