Plotlyをオンラインで使う方法 | Plotly徹底解説
オンラインプロット
PlotlyではFreeアカウントを取得することでオンライン上で作成したグラフの編集、保存が可能になります。
オンラインプロットでは自分のアカウント上にグラフを保存するため、アカウント登録が必要です。
そしてグラフをプロットするにはAPIキーというのを取得する必要があります。非常に簡単に出来るので心配ありません。
Freeアカウントでは公開状態でグラフが保存されますが、年会費を支払うことでプライベート保存が可能になります。
詳細は次の料金プランについての説明を見てください。
APIキーの取得
オンライン上にプロットする為にはAPIキーを取得する必要があります。
APIキーはAPI Keyページから設定できるはずです。
正しくリンクが飛ばない場合は、自分のアカウントからSettings > API Keys
とクリックしてください。
初めてAPIを設定する方は API Key
の下にある部分のRegenerate Key
をクリックして保存します。
生成されたAPIキーは念のため人に見られない安全な場所に保存しておいてください。
一度登録してしまえばあとはあまり使うことはありません。
APIキーの登録
APIキーはPythonを使ってコマンドラインから設定できます。
あるいはAPIキー登録ようのpythonファイルを作成して実行してもいいかもしれません。
$ python >>> import plotly >>> plotly.tools.set_credentials_file(username='DemoAccount', api_key='lr1c37zw81')
usernameのDemoAccount
とapi_keyのlr1c37zw81
を自分のものと置き換えます。
また、.credentials
ファイルの設定からも行なえます。
- Finedrを開き > 移動 > フォルダへ移動(⬆︎⌘G)とメニューバーから選択。
~/.plotly/
と入力.credentials
ファイルを開き、usernameとapi_keyの部分に記入- 保存して閉じる。
pythonでAPIキーを登録した場合は、こちらのファイルが書き換えられているはずです。
APIキーに問題がありそうな場合はこちらのファイルを見直すか、新たにAPIキーを発行して登録し直すといいかもしれません。
オンラインプロットの公開範囲
プロットするデータが第三者などに閲覧されては困る場合、公開範囲に気を使わなければなりません。
Plotlyでは3つの公開範囲が用意されています。
種類 | 説明 |
---|---|
Public | 誰でもグラフを閲覧することが可能です。あなたのアカウントプロフィール上に、そして検索エンジンの結果にも表示されます。そしてPlotlyにログインすることなく閲覧が可能です。 |
Private | あなただけがグラフを閲覧できます。この設定によってPlotlyのフィード上、あなたのアカウントプロフィール上、そして検索エンジンの検索結果に表示されなくなります。 このグラフを閲覧するにはあなたがPlotlyアカウントにログインする必要があります。また、他のPlotlyユーザーに対して個人的に公開も可能ですが、相手もログインする必要があります。 |
Secret | 与えられたシークレットリンクを持つ人は誰でもグラフを見れます。WebページやIPython notebookに埋め込んだ場合も誰でも見ることができます。また閲覧にログインは不要です。しかしながらPrivateと同様に検索結果などには表示されません。 |
公開範囲を設定する場合はPython上で以下のように実行します。
import plotly plotly.tools.set_config_file(world_readable=False, sharing='private') #↓はデフォルトの設定 plotly.tools.set_config_file(world_readable=True, sharing='public')
また、公開範囲はプロット時に指定することもできます。
plot()
のなかでsharing='private'
と入力するだけです。
import plotly.plotly as py import plotly.graph_objs as go pass # プロットのための処理 # 系列データの設定 data = [trace0, trace1] #グラフのプロット # sharingで公開範囲の設定をする。 py.plot(data, filename = 'basic-line' \ , auto_open=True, sharing='private')
オンラインプロットで描画
グラフのオンラインプロットにはplotly.plotly
の中のメソッドを用います。
公式ドキュメントではimport plotly.plotly as py
として利用しています。
そしてオンラインプロットにはpy.plot
とpy.iplot
の2つのメソッドが用意されています。
違いは以下のようになります。
py.plot
: 任意のURLを返し、オプションで指定することでブラウザ上にグラフを表示します。py.iplot
: エディタ上に直接プロットすることができます。
どちらで実行してもPlotlyアカウント上に保存されます。
ということで、とりあえず考えなしに以下のコードを実行して見てください。
import plotly.plotly as py import plotly.graph_objs as go # 各系列のデータを設定 trace0 = go.Scatter( x=[1, 2, 3, 4], y=[10, 15, 13, 17] ) trace1 = go.Scatter( x=[1, 2, 3, 4], y=[16, 5, 11, 9] ) data = [trace0, trace1] py.plot(data, filename = 'basic-line', auto_open=True)
自分のアカウントが開き、以下のようなグラフが表示されるかと思います。
因みに、py.plot
メソッドではプロット時の設定をオプションで与えることができます。
上ではfilename
で保存するファイル名、auto_open
でグラフの表示・非表示の設定を行なっています。
auto_open
ではTrue
の時は自動的にブラウザを起動しグラフを表示しますが、False
だとグラフを保存したURLを返してくれます。
,またAPIキーの設定などが済んでいないとエラーが生じるので注意してください。 エラーは以下のような内容で出るかと思います。
#APIキーが指定されていない時 Make sure that you're logged in as ユーザー名. Need help? Please try searching Plotly's <a href='http://stackoverflow.com/questions/tagged/plotly'>Stack Over flow channel</a>. #APIキーとユーザー名が指定されていない時 Aw, snap! We didn't get a username with your request. Don't have an account? https://plot.ly/api_signup Questions? accounts@plot.ly
といった感じ今回は簡単な使い方説明に留めておきました。
Plotlyではかなり凝ったレイアウトにすることができるのでそちらも紹介していきます。
レイアウトの参考にはデモ記事を参照してください。
tanisukestr.hatenablog.com