2024-04-26 14:45:50 发布
网友
我正在按照找到的示例here进行绘图
不幸的是,我有17条曲线需要显示,而图例与它们重叠。我知道我可以创建一个图例对象,它可以显示在绘图区域之外,比如here,但是我有17条曲线,所以使用循环更方便。
你知道如何把这两种方法结合起来吗?
好吧,我找到了解决办法。请参见下面的代码,我刚刚修改了交互式图例示例:
import pandas as pd from bokeh.palettes import Spectral4 from bokeh.plotting import figure, output_file, show from bokeh.sampledata.stocks import AAPL, IBM, MSFT, GOOG from bokeh.models import Legend from bokeh.io import output_notebook output_notebook() p = figure(plot_width=800, plot_height=250, x_axis_type="datetime", toolbar_location='above') p.title.text = 'Click on legend entries to mute the corresponding lines' legend_it = [] for data, name, color in zip([AAPL, IBM, MSFT, GOOG], ["AAPL", "IBM", "MSFT", "GOOG"], Spectral4): df = pd.DataFrame(data) df['date'] = pd.to_datetime(df['date']) c = p.line(df['date'], df['close'], line_width=2, color=color, alpha=0.8, muted_color=color, muted_alpha=0.2) legend_it.append((name, [c])) legend = Legend(items=legend_it, location=(0, -60)) legend.click_policy="mute" p.add_layout(legend, 'right') show(p)
好吧,我找到了解决办法。请参见下面的代码,我刚刚修改了交互式图例示例:
相关问题 更多 >
编程相关推荐