私はbokehを初めて使用しており、columnDataSourceの機能を把握しようとしています。それは多くの場所に現れますが、私はその目的とその仕組みが不明です。誰かを照らすことができますか?これが愚かな質問である場合のお詫び...bokehのcolumnDataSourceの目的
6
A
答えて
4
ColumnDataSourceは、Bokehグラフのデータが格納されるオブジェクトです。 ColumnDataSourceを使用せず、Python辞書、pandasデータフレームなどで直接グラフを表示することもできますが、グリフ上にマウスを置いたときにデータ情報を示すポップアップウィンドウを表示するなどの機能では、 ColumnDataSourceでなければ、ポップアップウィンドウはデータを取得できません。他の用途は、データをストリーミングするときである。
ディクショナリとパンダのデータフレームからColumnDataSourceを作成し、ColumnDataSourceを使用してグリフを作成できます。
+1
答えに書いたことをするための小さな例を追加してください。グラフの上にマウスを置いたときにデータを見たい時系列を言う – famargar
1
これは動作するはずです:
import pandas as pd
import bokeh.plotting as bp
from bokeh.models import HoverTool, DatetimeTickFormatter
# Create the base data
data_dict = {"Dates":["2017-03-01",
"2017-03-02",
"2017-03-03",
"2017-03-04",
"2017-03-05",
"2017-03-06"],
"Prices":[1, 2, 1, 2, 1, 2]}
# Turn it into a dataframe
data = pd.DataFrame(data_dict, columns = ['Dates', 'Prices'])
# Convert the date column to the dateformat, and create a ToolTipDates column
data['Dates'] = pd.to_datetime(data['Dates'])
data['ToolTipDates'] = data.Dates.map(lambda x: x.strftime("%b %d")) # Saves work with the tooltip later
# Create a ColumnDataSource object
mySource = bp.ColumnDataSource(data)
# Create your plot as a bokeh.figure object
myPlot = bp.figure(height = 600,
width = 800,
x_axis_type = 'datetime',
title = 'ColumnDataSource',
y_range=(0,3))
# Format your x-axis as datetime.
myPlot.xaxis[0].formatter = DatetimeTickFormatter(days='%b %d')
# Draw the plot on your plot object, identifying the source as your Column Data Source object.
myPlot.circle("Dates",
"Prices",
source=mySource,
color='red',
size = 25)
# Add your tooltips
myPlot.add_tools(HoverTool(tooltips= [("Dates","@ToolTipDates"),
("Prices","@Prices")]))
# Create an output file
bp.output_file('columnDataSource.html', title = 'ColumnDataSource')
bp.show(myPlot) # et voilà.
関連する問題
- 1. ColumnDataSourceのBokehラインプロットカラー
- 2. bokehでColumnDataSourceのサブセットを抽出する方法は?
- 3. Bokeh ColumnDatasourceからデータを抽出するには
- 4. 1つのBokeh ColumnDataSourceの更新はドキュメント全体に影響しますか?
- 5. ColumnDataSourceデータをBokehのグリフでグループ化することができません。
- 6. Pythonのボケ:columndatasource
- 7. ColumnDataSourceのnumpy配列の内容を変更するときにBokeh図形が更新されない
- 8. modified ColumnDataSourceを保存
- 9. スライダーコールバックを使用してPython 3を使用してBokehのColumnDataSourceをフィルターする方法は?
- 10. 目的XMLString :: transcodeの目的
- 11. Bokeh(0.12.1)Bokehを使用してプログラムでbokeh serve(Pythonのみ)
- 12. Bokeh概念実証的な効率的な動的プロット更新?
- 13. Bokehのタイムスチャート
- 14. Bokehプロットのユニットテスト
- 15. Bokeh値のエラー
- 16. Bokehアプリケーションのスロットル
- 17. bokeh DataTableの幅
- 18. Bokeh州のコントロールビューコントロール
- 19. CallbackJSのBokehチェンジソースデータ
- 20. bokehテーブルウィジェットのフォーマット
- 21. 'bokeh serve'(bokeh 0.12.0)を使用してプロットを動的に追加/削除する
- 22. Bokehタップツールを作成して、指定した列内の同じ値を共有するColumnDataSourceのすべての点を選択する方法
- 23. Bokehプロットタグレンダリングの問題
- 24. Python Bokeh空のヒートマップ
- 25. Python bokehの逆軸
- 26. bokehのJinja2変数
- 27. アクセスbokehサーバーのURL
- 28. オシロスコープの目的
- 29. RemoveAll()の目的
- 30. DynaValidatorFormの目的
を使用すると、Rまたはパンダ 'DataFrame'オブジェクトに精通している場合は、' ColumnDataSource'は、基本的にその簡単なバージョンです。これは、名前で参照できるデータ(列)の配列の集合です。実際の内部構造は、文字列をリスト/配列にマップする辞書です。データがPythonからBokehJSブラウザー・ライブラリーに移動する主な方法です。 – bigreddot