2017-11-09 5 views
1

Bokehを使って同じx軸にプロットしたい同じ単位の2つの変数があります。 plot.multi_lineが正しいツールだと思われますが、ドキュメントから正しい構文を見つけることができません。私は(DOCから収集)しようとしたもの:また試してみましたColumnDataSourceのグラフに複数の線をプロットする

# df is a pandas DataFrame with contains 3 columns x, y1, y2 

source = ColumnDataSource(data=df) 
plot=figure() 
plot.multi_line(['x','x'], ['y1', 'y2'], source=source) 

:明らかに

p.multi_line([[1, 3, 2], [3, 4, 6, 6]], [[2, 1, 4], [4, 7, 8, 5]], 
     color=["firebrick", "navy"], alpha=[0.8, 0.3], line_width=4) 

私はドン:

RuntimeError: Supplying a user-defined data source AND iterable values to glyph methods is not possibe. Either:

Pass all data directly as literals:

p.circe(x=a_list, y=an_array, ...)

Or, put all data in a ColumnDataSource and pass column names:

source = ColumnDataSource(data=dict(x=a_list, y=an_array)) p.circe(x='x', y='x', source=source, ...)

plot.multi_line(xs=['x','x'], ys=['y1', 'y2'], source=source) 

結果をドキュメントには、この例を与えます生のliで値を渡したくないsts。私はそれを取得しない、私は少し助けが必要です。

答えて

2

[OK]を、私は単純にやって、愚かな感じ:それはmatplotlibの中で行うように

source = ColumnDataSource(data=df) 
plot=figure() 
plot.line('x','y1', source=source, line_color="red") 
plot.line('x','y2', source=source, line_color="blue") 

は、トリックを行います...私は、この「plot.multi_line」機能と混同してしまった(私は今ありませんなぜ私はそれを使用するだろうが、よく)。

+0

'multi_line'は、別々の切断されたサブラインで構成された単一の「論理」行がある場合に便利です。アナログは、国のためにポリゴンを描画するために 'patches'を使うでしょう。国境は、いくつかの切断された部分(例えば、沖合いの島)を有するが、依然として単一の論理的実体を表す。 – bigreddot

関連する問題