散景中多行的数据格式

dataformat for multiple lines in bokehjs

本文关键字:数据格式      更新时间:2023-09-26

我只使用Bokeh的BokehJS部分,因为我正在构建一个更加面向生产的系统。不幸的是,散景的实际散景部分似乎没有那么多记录,这使得很难找到所需的信息,例如如何格式化散景JS对象的数据。

我想做的是制作一个简单的折线图,但是我希望有多条线,而不是

只有一条线,并且可以制作描述每条线的图例。这是一个非常基本的情节,但是我没有找到任何方法可以在散景JS中做到这一点。为了用一行制作绘图,我执行以下 javascript:

    Bokeh.Plotting.show(
        Bokeh.Plotting.make_plot({type:'line'}, {x:[1,2],y:[4,5]}, {})
        ,'.mydivcontainer');

我如何改变这一点,以便我可以在同一情节中拥有 5 行以及一个图例,基本上类似于用标准散景写的图例:

从集合导入排序字典 进口大熊猫作为PD

AAPL = pd.read_csv("aapl.csv", parse_dates=["Date"])
MSFT = pd.read_csv( "msft.csv", parse_dates=["Date"])
IBM = pd.read_csv( "ibm.csv", parse_dates=["Date"])
xyvalues = OrderedDict(
    AAPL = AAPL[("Date", "Adj Close")],
    MSFT = MSFT[("Date", "Adj Close")],
    IBM  = IBM[("Date", "Adj Close")],
)
df = pd.concat(xyvalues, axis=1, names=["l0", "l1"])
from bokeh.charts import TimeSeries
ts = TimeSeries(
    df, title="timeseries, pd_input",
    filename="stocks_timeseries.html")
ts.legend("top_left").show()

(摘自发行说明:http://continuum.io/blog/bokeh-0.6(

提前非常感谢您的帮助

JS接口的开发和文档开发确实落后于其他接口(主要是python,还有scala和Julia,很快还有R(。我们计划对此进行改进,但您可以想象,有很多相互竞争的优先事项。

但是我会提到另一种选择,以防对您有用。可以从python创建绘图JS,然后直接使用JS。也就是说,你只使用python来设置东西,然后你可以把python扔掉。您可以使用bokeh.embed中的函数将python绘图对象图转换为JS,您可以随心所欲地嵌入。

使用最新版本的散景,您还可以轻松获取绘图对象(例如数据源(以直接从JS更新绘图。例如,请参阅:

https://github.com/bokeh/bokeh/blob/master/examples/embed/spectrogram/spectrogram.coffee#L187

啊,

现在我似乎已经弄清楚了。要启用多行,似乎我可以这样做:

Bokeh.Plotting.show(
      Bokeh.Plotting.make_plot([{type:'line'},{type:'line'}], [{x:[1,2],y:[4,5]},{x:[1,4],y:[2,5]}], {})
      ,'.mydivcontainer');

很棒的:)