はんなりPython+PyData Osakaの可視化特集会
with pydata DataVisualization
質問など
挨拶・自己紹介など
こんにちは〜
こんにちはーー
こんにちは
こんにちは
ユーザーぺージないのでアイコンなくて悲しいikura1.icon
ユーザーページどんどん作ってくださいね!ひでやん.icon
1. @wristさん matplotlibおよびその他描画ライブラリによるアニメーション機能の紹介
Pydata Osakaオーガナイザー
matplotlibのアニメーションのお話。音の信号処理。リアルタイムな可視化必要。
plt.pause(second)
plt.cla()
plt.plot()
くりかえす
%matplotlib osx を入れておくとうれしい
TimedAmation クラスでアニメーション
ArtistAnimation
こっちのほうが簡単にアニメーションできる
ax.plot() の結果を listにためていく
それを渡せばアニメーションしてくれる
X軸の描画をうまくやらないとアニメーションのように動いてくれない。
軸の操作とかができない
FuncAnimation
class matplotlib.animation.FuncAnimation
データを作成する関数と、描画を設定する関数を渡せる
よりリッチなアニメーションを操作できる
クラスを継承して然るべきメソッドを定義するとアニメーションできる
new_data_ftame()
save(filname, wirter="ffmpeg) 動画を保存できる
to_html5_video() HTMLに埋め込める
環境が整ってないと使えないよ。
--- 1. 質問 ---
どれくらいのデータまでならアニメーションをストレスなく動かせますか?
会場でも答えましたが大きすぎるデータや描画関数で重い処理を行うと途端にカクつきます、動画に事前に落としておくのも一つかもしれません
Rの描画機能と連携はできますか?
Rはあまり詳しくないので答えられません、すいません
他の可視化ツールとの棲み分けはどんな感じでしょうか?
今回触ってみて以前によりはマシになっていますがmatplotlibのアニメーションはあまりヌルヌル動かないという点が問題としてあります
2. @ogawahideyuki The power of data visualization
FACT FULNESS
https://gyazo.com/b5eabd96cc3927d8f7aeada94e8bbbbf
データ==事実、そんなに悲観しなくてOK。世界は進歩している
はんなりPythonで啓蒙活動中
みんな飽きてる疑惑!?
データを情報化するときの問題点
データがたくさんあっても見せられない
特にプレゼンの時 、気付きが生まれにくい。そうですよね、で終わる
すごい発見も当たり前のようにつづく
=> Dash なら解決できるよ!!
DaShの使いかた
Flask + React + Plotly.js
グラフがインタラクティブに作れる!
日本語のドキュメントは少ない
Qiitaの記事がバズったからいいねして
可視化ツールの進化激しい、pandas-bokeh 、Plotly Express
dash_tableでテーブルも表示できる
データの話
Long Form Data が扱いやすい
Wide formとLong form があるよ。
Dash使うにはCallbackが大事
これ使えないとDashを使う意味がない
id はHTMLタグの id のこと
はじめにグラフを出す方を指定 Output("hokkaidoGraph","figure") ,その後Inputでドロップダウンの部分のidを指定
スライダーの初期値設定しないと真っ白で表示されるよ
初期値設定大事
地図
mapbox
ゼンリンと契約したらしい。最近。
mapbox のアカウントが必要。API Keyとかいるのかな。
go.Scattermapbox
heroku
すぐに公開できる。
5行コマンド、gitでpushするみたいなイメージ
--- 2. 質問 ---
・m x n 行列のデータとして、それぞれいくつぐらいまでのデータに対応してますか?
どれくらいまで対応してるかは分かりませんが、本日のデータはgithubにある8640×6のデータです。
・実感するには、データを見る!→Dash書いてみる! 見た目よりもコード長くないよ!
データ入れているところが長く見えるだけ
スライド作成にも使える。githubとの連携でディスカッションの結果をすぐ可視化できそう
ヒートマップもつかえますか?
3. @kozo2 Dashの新コンポーネントDash Cytoscapeの紹介
Dashのコンポーネントをいろいろ紹介?
dash-cytescape
ネットワークを可視化するコンポーネント
dash-bio
バイオ系のやつ
Cytescape
Network可視化ソフト
Javaのデスクトップアプリだった => Javascript => Plotly
stylesheetパラメーター
callback→パラメーターに渡すデータを書き換えている
@komo_fr pyconjp2018 の発表
モチベーション:最も参照されているPEPから読んでいく、Python学習効率化
ドキュメントのコードをコピペしたらすぐ動かせる!
ソースコードを変更したら、ブラウザがオートリロードされる
--- 3. 質問 ---
デスクトップ版からデータは移行できるのか?
厳しい
デスクトップ版との違いは?
インストール不要、Webブラウザの中でできる
Javaを誰も書きたくない
描画速度はDash版の方が軽いのか?
2万ノード程度だったら耐えられる
dot言語はサポートしてるのか?
していない、自力で頑張ってほしい
パラメータ間の重みの類似度や距離は測れるのか?
edge lengthはなかった気がするがそれ以外はできる気がする
layoutはrandom, grid, circle, concentric, breadthfirst, coseのみではないか
座標は指定できるので距離はpythonで自力で計算するという手もある
4. @masayuki14 Dockerを使った可視化環境の作り方
はんなりPython 4月19日@スプーキーズ
OSS Gate 今年は京都は6月
可視化でもなんでも、環境作りは辛いよねって話 → Docker
興味のある話題ならやる気がでた。→遊園地の待ち時間の可視化をやりたい
慣れてないpythonについて、環境で困ることが多かった。
仮想環境 pyenv venvわからん
pipenvもあります!
複数のPCで環境揃えたい
Docker にした
コンピューターの中に箱を用意して色々詰め込む
射撃しつつ前進 Joel on Software
docker
depends_on: db で連携
コンテナを動かすためのデータをダウンロードしてくる
jupyterlab-dash
Plotly Express
Pandas-Bokeh
pandas の plot というコマンドをplot_bokeh にするだけでbokeh上での描画に変えてくれるライブラリ。
--- 4. 質問 ---
----- memo, free space -----
PyDataは基本内容を公開!
Shogun / C++のマシーンラーニングツール
youtubeのリンクが登録人数100人超えると短くなる!
jupyter notebook RISE でスライド作成できる
ジェネレーターでwhile文を1ループずつ実行
yield value で値を返すとそのファンクションはジェネレータになる
前回の余談
角括弧、大括弧をScrapboxで使う方法は現状ないようです。
[]とかならOK
なるほど!
YouTubeでのLive配信に失敗。要調査。
OBSでの録画を行ったがラップトップのモニタ表示よりプロジェクタ表示が小さく録画物のクロップを行う必要があった。
OBSも要調査。
ラップトップにマウスをつなげた方がよい。
mapboxのデモなどでズームに困った。