Pythonでシンプルでインタラクティブな共有可能なプロットを作成するにはどうすればよいですか?

ロブ

誰かが私を正しい方向に向けてくれることを願っています。python datavisランドスケープは今や巨大になり、非常に多くのオプションがあるので、これを達成するための最良の方法が何であるかについて少し迷っています。

xarrayデータセットがあります(ただし、パンダのデータフレームまたはnumpy配列のリストである可能性があります)。

A、B、Cの3つの列があります。これらには40個のデータポイントが含まれています。

A対B +スケール* Cの散布図をプロットしたいと思います。ここで、スケールはインタラクティブスライダーから決定されます。

これのより高度なバージョンには、3つの列の別のセットを選択できるドロップダウンがありますが、それについては後で少し心配します。

これらすべての注意点は、他の人が使用できるようにオンラインでインタラクティブにしたいと思っていることです。

非常に多くのオプションがあるようです:

  • Jupyter(私はノートブックを使用しないので、ノートブックにはあまり詳しくありませんが、mybinderを使用すると、これは簡単だと思います)
  • プロット
  • ボケサーバー
  • pyviz.org(これは本当に興味深いものですが、これを達成する方法については非常に多くのオプションがあるようです)

どんな考えやアドバイスも大歓迎です。

ジョリス

確かにたくさんの選択肢があり、何がベストかはわかりませんが、ボケ味をよく使って満足しています。以下の例で始めることができます。これを起動するには、スクリプトを保存するディレクトリでcmdを開き、「bokehservescript.py--show--allow-websocket-origin = *」を実行します。

from bokeh.plotting import figure
from bokeh.io import curdoc
from bokeh.models.widgets import Slider
from bokeh.models import Row,ColumnDataSource

#create the starting data
x=[0,1,2,3,4,5,6,7,8]
y_noise=[1,2,2.5,3,3.5,6,5,7,8]
slope=1 #set the starting value of the slope
intercept=0 #set the line to go through 0, you can change this later
y= [slope*i + intercept  for i in x]#create the y data via a list comprehension

# create a plot
fig=figure() #create a figure
source=ColumnDataSource(dict(x=x, y=y)) #the data destined for the figure
fig.circle(x,y_noise)#add some datapoints to the plot
fig.line('x','y',source=source,color='red')#add a line to the figure

#create a slider and update the graph source data when it changes
def updateSlope(attrname, old, new):
    print(str(new)+" is the new slider value")
    y = [float(new)*i + intercept  for i in x]
    source.data = dict(x=x, y=y)   
slider = Slider(title="slope", value=slope, start=0.0, end=2.0,step=0.1)
slider.on_change('value', updateSlope)

layout=Row(fig,slider)#put figure and slider next to eachother
curdoc().add_root(layout)#serve it via "bokeh serve slider.py --show --allow-websocket-origin=*"

allow-websocket-origin = *は、他のユーザーがサーバーにアクセスしてグラフを表示できるようにするためのものです。httpはhttp:// yourPCservername:5006 /になります(5006がデフォルトのボケポートです)。PCからサービスを提供したくない場合は、Herokuのようなクラウドサービスにサブスクライブできます:

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Pythonでインタラクティブなサブプロセス(シェルなど)をラップするにはどうすればよいですか?

分類Dev

gnuplotのインタラクティブな3Dプロットを他の人と共有するにはどうすればよいですか?

分類Dev

クリックした場所に応じて新しいプロットを生成するインタラクティブなプロットをPythonで作成するにはどうすればよいですか?

分類Dev

shinyheatmaplyでインタラクティブなヒートマップをデプロイするにはどうすればよいですか?

分類Dev

React JSアプリでインタラクティブなチェックボックスを作成するにはどうすればよいですか?

分類Dev

Leafletを使用してRでGTFSデータのインタラクティブプロットを作成するにはどうすればよいですか?

分類Dev

インタラクティブなrgl3Dプロットをエクスポートして共有または公開するにはどうすればよいですか?

分類Dev

three.jsでインタラクティブなビデオプログレスバーを作成するにはどうすればよいですか?

分類Dev

インタラクティブなPythonインタープリターでタブ補完を取得するにはどうすればよいですか?

分類Dev

jQuery ImageViewerプラグインのアクティブなアイテムに画像タイトルを追加するにはどうすればよいですか?

分類Dev

輪郭(塗りつぶし)プロットレイヤーを使用してインタラクティブなオンラインマップを作成するにはどうすればよいですか?

分類Dev

PyCharmで、スタートアップファイルではないファイルでアクティブになるブレークポイントを有効にするにはどうすればよいですか?

分類Dev

Facebookのプロフィールテキストボックスへのリンクをコピーして、ページのタイトルや画像などを共有するにはどうすればよいですか?

分類Dev

ターミナルまたはマルチプロセッシングライブラリなしでPythonスクリプトによって使用されるCPUの数を制限するにはどうすればよいですか?

分類Dev

インタラクティブなコマンドラインアプリケーションでオートコンプリートの提案メニューを作成するにはどうすればよいですか?

分類Dev

共有コントローラー、ミドルウェアなどのライブラリプロジェクトからASP.NET Core 3.0タイプを使用するにはどうすればよいですか?

分類Dev

SBTプロジェクトでアクティブなプラグインを一覧表示するにはどうすればよいですか?

分類Dev

チラシ:スタイルプロパティのないGeoJSONオブジェクトで2000以上のポイントのスタイルを設定するにはどうすればよいですか?

分類Dev

エンティティプロパティとしてクラスプロパティ(ナビゲーションプロップ付き)を使用するにはどうすればよいですか?複雑なタイプはしません

分類Dev

画面ロギング-インタラクティブなシェル制御文字を省略してプロンプトを表示するにはどうすればよいですか?

分類Dev

Watchkitアプリでインタラクティブマップをすばやく作成するにはどうすればよいですか?

分類Dev

コマンドラインからフランスのWindowsシステムでファイルとプリンターの共有をアクティブ化するにはどうすればよいですか?

分類Dev

Googleスプレッドシートの共有可能なリンクを取得するにはどうすればよいですか?

分類Dev

ノードアプリからインタラクティブなbashスクリプトを開始するにはどうすればよいですか?

分類Dev

プログラムでSpringコンテキストを作成するときにアクティブなプロファイルを設定するにはどうすればよいですか?

分類Dev

別のディレクティブをラップする再利用可能なコンポーネントAngularディレクティブで、モデルを「パススルー」するにはどうすればよいですか?

分類Dev

Vaadinでインタラクティブなグラフィックを作成するにはどうすればよいですか?

分類Dev

Vaadinでインタラクティブなグラフィックを作成するにはどうすればよいですか?

分類Dev

WPFでインタラクティブなグラフィックを作成するにはどうすればよいですか?

Related 関連記事

  1. 1

    Pythonでインタラクティブなサブプロセス(シェルなど)をラップするにはどうすればよいですか?

  2. 2

    gnuplotのインタラクティブな3Dプロットを他の人と共有するにはどうすればよいですか?

  3. 3

    クリックした場所に応じて新しいプロットを生成するインタラクティブなプロットをPythonで作成するにはどうすればよいですか?

  4. 4

    shinyheatmaplyでインタラクティブなヒートマップをデプロイするにはどうすればよいですか?

  5. 5

    React JSアプリでインタラクティブなチェックボックスを作成するにはどうすればよいですか?

  6. 6

    Leafletを使用してRでGTFSデータのインタラクティブプロットを作成するにはどうすればよいですか?

  7. 7

    インタラクティブなrgl3Dプロットをエクスポートして共有または公開するにはどうすればよいですか?

  8. 8

    three.jsでインタラクティブなビデオプログレスバーを作成するにはどうすればよいですか?

  9. 9

    インタラクティブなPythonインタープリターでタブ補完を取得するにはどうすればよいですか?

  10. 10

    jQuery ImageViewerプラグインのアクティブなアイテムに画像タイトルを追加するにはどうすればよいですか?

  11. 11

    輪郭(塗りつぶし)プロットレイヤーを使用してインタラクティブなオンラインマップを作成するにはどうすればよいですか?

  12. 12

    PyCharmで、スタートアップファイルではないファイルでアクティブになるブレークポイントを有効にするにはどうすればよいですか?

  13. 13

    Facebookのプロフィールテキストボックスへのリンクをコピーして、ページのタイトルや画像などを共有するにはどうすればよいですか?

  14. 14

    ターミナルまたはマルチプロセッシングライブラリなしでPythonスクリプトによって使用されるCPUの数を制限するにはどうすればよいですか?

  15. 15

    インタラクティブなコマンドラインアプリケーションでオートコンプリートの提案メニューを作成するにはどうすればよいですか?

  16. 16

    共有コントローラー、ミドルウェアなどのライブラリプロジェクトからASP.NET Core 3.0タイプを使用するにはどうすればよいですか?

  17. 17

    SBTプロジェクトでアクティブなプラグインを一覧表示するにはどうすればよいですか?

  18. 18

    チラシ:スタイルプロパティのないGeoJSONオブジェクトで2000以上のポイントのスタイルを設定するにはどうすればよいですか?

  19. 19

    エンティティプロパティとしてクラスプロパティ(ナビゲーションプロップ付き)を使用するにはどうすればよいですか?複雑なタイプはしません

  20. 20

    画面ロギング-インタラクティブなシェル制御文字を省略してプロンプトを表示するにはどうすればよいですか?

  21. 21

    Watchkitアプリでインタラクティブマップをすばやく作成するにはどうすればよいですか?

  22. 22

    コマンドラインからフランスのWindowsシステムでファイルとプリンターの共有をアクティブ化するにはどうすればよいですか?

  23. 23

    Googleスプレッドシートの共有可能なリンクを取得するにはどうすればよいですか?

  24. 24

    ノードアプリからインタラクティブなbashスクリプトを開始するにはどうすればよいですか?

  25. 25

    プログラムでSpringコンテキストを作成するときにアクティブなプロファイルを設定するにはどうすればよいですか?

  26. 26

    別のディレクティブをラップする再利用可能なコンポーネントAngularディレクティブで、モデルを「パススルー」するにはどうすればよいですか?

  27. 27

    Vaadinでインタラクティブなグラフィックを作成するにはどうすればよいですか?

  28. 28

    Vaadinでインタラクティブなグラフィックを作成するにはどうすればよいですか?

  29. 29

    WPFでインタラクティブなグラフィックを作成するにはどうすればよいですか?

ホットタグ

アーカイブ