gpt4 book ai didi

python - Bokeh 多线使一条线不可见

转载 作者:行者123 更新时间:2023-11-28 17:08:19 24 4
gpt4 key购买 nike

我希望能够从 Bokeh 多线图中选择一条线。我只能找到一种方法来一次选择所有多行。我的示例通过使用 p.line 来工作,但是如果你有很多行,那真的很慢。这是一个例子:

import pandas as pd
import numpy as np
from bokeh.palettes import Spectral11
from bokeh.plotting import figure, show, output_file
output_file('temp.html')

toy_df = pd.DataFrame(data=np.random.rand(5,3), columns = ('a', 'b' ,'c'), index = pd.DatetimeIndex(start='01-01-2015',periods=5, freq='d'))
print(toy_df)
numlines=len(toy_df.columns)
mypalette=Spectral11[0:numlines]

p = figure(width=500, height=300, x_axis_type="datetime")

line1 = p.line(toy_df.index,toy_df["a"])
line2 = p.line(toy_df.index,toy_df["b"])
line3 = p.line(toy_df.index,toy_df["c"])
line3.visible=False
show(p)

前面的代码完美地创建了三行并使第三行不可见。出于效率原因,我想用多行替换 line1、line2、line3:

p.multi_line(xs=[toy_df.index.values]*numlines,
ys=[toy_df[name].values for name in toy_df],
line_color=mypalette,
line_width=5)

但是,我找不到一种方法来选择其中一条线并使其不可见。我也使用自定义 javascript 进行了尝试,但这也没有为我提供解决方案。

最佳答案

一种方法是将要隐藏的行的 alpha 设置为零:

p.multi_line(xs=[toy_df.index.values]*numlines,
ys=[toy_df[name].values for name in toy_df],
line_color=mypalette,
line_width=5,
line_alpha=[1,0,1]) # hides second line

或者,您可以将要隐藏的行的 line_color 值设置为 None

关于python - Bokeh 多线使一条线不可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49554357/

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