gpt4 book ai didi

bokeh - 切换 Bokeh 图中的线条可见性

转载 作者:行者123 更新时间:2023-12-05 01:15:07 27 4
gpt4 key购买 nike

我正在尝试创建一个 Bokeh 图,它允许我通过单击复选框来切换图中线条的可见性。

我开始尝试对复选框组使用 js 回调,但不幸的是,实际上并没有为复选框组实现 js 回调。

任何人都可以提出另一种方法来切换 Bokeh 图中的线条可见性。我猜修改线条的 alpha 属性是可行的方法。

这是一些用于创建我的情节的简单示例代码:

from bokeh.plotting import figure, show, output_notebook
from bokeh.io import vform
from bokeh.models.widgets import CheckboxGroup
output_notebook()

x = [1, 2, 3, 4, 5]
y1 = [3, 5, 6, 4, 5]
y2 = [2, 4, 7, 6, 5]

p = figure()
line1 = p.line(x, y1, alpha=1, color='blue', legend='blue line')
line2 = p.line(x, y2, alpha=1, color='red', legend='red line')

cbgroup = CheckboxGroup(labels=["toggle blue line","toggle red line"], active=[0,1])
show(vform(p,cbgroup))

最佳答案

我猜是因为对我的问题没有任何回应,所以没有任何方法可以在网页的 Bokeh 图中使用复选框。

在这种情况下,我一直在查看除 Bokeh 之外的其他可能的网络图表库,并找到了一个名为 C3.js 的不错的库。它纯粹是在 javascript 中实现的,但由于 Bokeh 已经需要一些 js 知识,这对于 Bokeh 用户来说可能不是什么大问题。此外,C3.js 语法似乎非常好和简单,即使对于像我这样对 js 知之甚少的人来说也是如此。

对于任何检查这个问题的人,我已经提供了下面的 html/js 页面代码,它创建了等效的 C3.js 图,其中包含我试图用 Bokeh 制作的复选框:

<!DOCTYPE html>
<html lang="en">
<head>
<title>show hide</title>
<meta charset="utf-8" />
<link href="https://cdnjs.cloudflare.com/ajax/libs/c3/0.4.10/c3.min.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.6/d3.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/c3/0.4.10/c3.min.js"></script>
</head>
<body>
<div id="chart"></div>
<script>
var chart = c3.generate({
bindto: '#chart',
data: {
x: 'x',
columns: [
['x', 1, 2, 3, 4, 5],
['y1', 3, 5, 6, 4, 5],
['y2', 2, 4, 7, 6, 5]
]
}
});

function cbclick(a){
var lineData = "y" + a;
var cbID = "cb" + a
var cb = document.getElementById(cbID);
if (cb.checked) {
chart.show([lineData]);
} else {
chart.hide([lineData]);
}
}
</script>

<div align="center">
<input type="checkbox" id="cb1" onclick="cbclick(1)" checked="true">y1</input>
<input type="checkbox" id="cb2" onclick="cbclick(2)" checked="true">y2</input>
</div>
</body>

关于bokeh - 切换 Bokeh 图中的线条可见性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37568648/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com