こんにちは!
なおき(@waste_investor)です!
今回はグリグリ動かせるおもしろグラフをWordPressに貼る方法を解説します。
まず始めに、他にもこんなことができるという例からまとめていきます。
ダウ平均 S&P500 ナスダック の値動き率をプロット
ダウ平均、S&P500、ナスダックの1年間の値上がり比率をプロットしました。
この1年間ではナスダックが最も上昇したようですが、S&P500もダウ平均も負けず劣らずの上昇率です。

スマホだと見づらくてすみません。

上のグラフの下の画像はこの画像です。
この画像のR(赤)チャンネルだけ取り出して、縦軸をRチャンネルの大きさにしてプロットしています。
普段何気なく見ているものでも、見かたを変えれば新しい発見があるかもしれません。
plotlyのグラフをWordPressに貼り付ける
ここからは、Pythonのplotlyで作成したグラフをWordPressに貼り付ける方法を解説します。
plotlyは、作成したグラフのhtmlを出力できるので普段のプレゼンで活用すれば、他の人と一風変わったプレゼン資料になること間違いなしです。
準備
モジュールインストール
plotly、chart-studioをインストールします。
1 |
pip install plotly |
1 |
pip install chart-studio |
chart studioに登録
plotly chartstudioに登録します。
plotlyからchart studioに図を出力して、chart stuioのパスをWordPressに貼り付けると、自分のWordPressで図を表示することができます。
メールアドレス程度の情報で登録できるので、比較的簡単に登録できます。
APIキーを取得します。
chart studioの右上から「setting」→「API Keys」より自分のAPIキーを確認します。
これで準備は終わりです。
plotlyでプロットしてWordPressにグラフを貼り付ける
1つ目で紹介した公式ページにあったグラフを作成して貼りつけてみます。
1 2 3 4 5 6 7 8 9 10 11 12 |
import pandas as pd import plotly.graph_objs as go import chart_studio.plotly as py # データ読み込み z_data = pd.read_csv('https://raw.githubusercontent.com/plotly/datasets/master/api_docs/mt_bruno_elevation.csv') # プロット fig = go.Figure(data=[go.Surface(z=z_data.values)]) # chart studioにグラフを出力 py.iplot(fig) |
py.iplot(fig)でchart studio上にグラフを生成します。
普通に自分の環境でグラフを見るだけなら、fig.show()で大丈夫です。
出力された画像で「EDIT CHART」を押してchart studioのページにいきます。
chart studioページの左にある「Share」、「Embed」の順に選択し、表示されたiframeをWordPressの編集画面の「テキスト」の方に貼り付ければWordPress上でもグラフを動かすことができます。
割と簡単にWordPressに貼り付けることができました。
プレゼンの資料もかっこいいものを作れるようになっていきたいですね。
せっかくなので、株のチャートを作成したコードも貼っておきます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
import datetime import plotly.graph_objs as go import chart_studio.plotly as py from pandas_datareader import data # 現在日 dt_now = datetime.datetime.now() # 1年前 dt_start = datetime.datetime(dt_now.year-1, dt_now.month, dt_now.day) # 1年分の株価データを取得 # ダウ dji_df = data.DataReader(data_source='yahoo', name='^DJI',start=dt_start,end=dt_now) # S&P500 sp500_df = data.DataReader(data_source='yahoo', name='^GSPC',start=dt_start,end=dt_now) # ナスダック nasdaq_df = data.DataReader(data_source='yahoo', name='^IXIC',start=dt_start,end=dt_now) # 値動き率を算出 dji_df['Rate'] = dji_df['Close'] / dji_df['Close'].iloc[0] sp500_df['Rate'] = sp500_df['Close'] / sp500_df['Close'].iloc[0] nasdaq_df['Rate'] = nasdaq_df['Close'] / nasdaq_df['Close'].iloc[0] x = np.arange(0, len(df), 1) # プロット fig = go.Figure( data=[ go.Scatter(x=[x.strftime('%Y-%m-%d') for x in sp500_df.index], y=sp500_df['Rate'], name = 'S&P500', showlegend=True), go.Scatter(x=[x.strftime('%Y-%m-%d') for x in sp500_df.index], y=dji_df['Rate'], name = 'DJI', showlegend=True), go.Scatter(x=[x.strftime('%Y-%m-%d') for x in sp500_df.index], y=nasdaq_df['Rate'], name = 'NASDAQ', showlegend=True)]) # 縦軸 fig.update_yaxes(title_text="Rate") # chart-studioにグラフを出力 py.iplot(fig) |
Pythonはなんでもできる便利ツールで、実行環境も無料で作れるので気軽に勉強できます。
興味があればこんな本から勉強を始めてみてはいかがでしょうか。
プログラミングを少し学んでおいて「こんなことができる」ということがわかれば、本業や副業の時間短縮の手助けになることが多いと思います。
Pythonを勉強している仲間も募集中です。
気軽にTwitterにお声がけください。