【发布时间】:2020-12-28 10:39:13
【问题描述】:
我想画一个带圆圈的网格并标记每一行和每一列。虽然我可以绘制数据点,但我无法正确对齐数据点及其各自的标签,所以绘图如下所示:
如何正确完成,使刻度标签与数据点对齐?
代码:
import numpy as np
import itertools
from bokeh.models import Circle, ColumnDataSource
from bokeh.plotting import figure, show
space = 0.5
row_ind = np.arange(0, 2, space)
col_ind = np.arange(0, 1.5, space)
data_points = list(itertools.product(row_ind, col_ind))
rows = [dp[0] for dp in data_points]
cols = [dp[1] for dp in data_points]
size = 10
sizes = [size] * len(data_points)
source = ColumnDataSource(dict(columns=cols, rows=rows, size=sizes))
plot = figure(
plot_width=400,
plot_height=300,
x_range=["1", "2", "3"],
y_range=list("ABCD")
)
plot.circle(
x="columns",
y="rows",
size="size",
line_color="black",
fill_color="white",
line_width=2,
source=source
)
show(plot)
【问题讨论】: