📜  Python Bokeh – 在图上绘制六边形(1)

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

Python Bokeh – 在图上绘制六边形

Bokeh 是一个交互式可视化库,它使程序员可以在 Web 浏览器中创建美丽,互动性强的图形。在这篇文章中,我们将使用 Bokeh 来绘制一个六边形。

首先,我们需要导入 bokeh.plottingbokeh.modelsbokeh.plotting 包含了用于绘制图形的工具,而 bokeh.models 则包含了各种图形元素的定义。

from bokeh.plotting import figure, show
from bokeh.models import ColumnDataSource, HexTile

接下来,我们将创建一个 ColumnDataSource 对象来存储我们的六边形数据。我们将为每个六边形指定一个中心点和一个边长,然后将它们传递给 HexTile 对象。

# 中心点
x = [1, 1.5, 2, 2.5, 2, 2.5, 3]
y = [1, 2, 2, 1, 0, 1, 1]

# 边长
size = 0.5

source = ColumnDataSource(data=dict(
    q=x,
    r=y,
    size=[size]*len(x)
))

tile = HexTile(
    q="q",
    r="r",
    size="size",
    scale=1,
    fill_color="#ffffff",
    line_color="#000000"
)

然后,我们将会创建一个 figure 对象,并将 tile 添加到其中。

fig = figure()
fig.add_tile(tile, source)

show(fig)

这将创建一个大小为 400x400 的图形,并在其中绘制了七个六边形。我们可以在浏览器中缩放和移动图形,以查看它们的细节和交互式特性。

这就是使用 Bokeh 在图上绘制六边形的方法。我们可以根据需要调整大小、颜色和形状等属性,以创建各种不同的图形。