読者です 読者をやめる 読者になる 読者になる

BuzzLog / バズログ

BuzzLog / バズログはニュースとエンターテインメントを伝えるメディアです

jupyter notebook + pandas + matplotlib で株価表示してみた

jupyter notebook + pandas + matplotlib でいい感じに株価を表示してみました。

データを拾ってくる

http://k-db.com/ から株価の時系列データが csv でダウンロードできます。 ここでは試しに Sony の株価を使ってみます。

[6758 東証1部] ソニー 日足 時系列データ CSVダウンロード

コード

%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import os

file_name = "~/stocks_6758-T.csv"

df = pd.read_csv(file_name, encoding="SHIFT-JIS")
# print(df) # 確認

# plot 設定
plt.figure(figsize=(10, 7))
plt.rcParams["font.size"] = 22
plt.rcParams["xtick.labelsize"] = 10
plt.rcParams["ytick.labelsize"] = 10
plt.rcParams["legend.fontsize"] = 10
plt.rcParams['font.family'] = 'AppleGothic' # ※ Mac 環境での日本語指定
plt.grid()

# データ選定
x_index = range(len(df))
stock = df["始値"]

# 値域指定
plt.axhline(y=0)
# plt.ylim(ymax=8)
# plt.ylim(ymin=-8)

plt.xlabel("")
plt.ylabel("始値[円]")
plt.title("SONY の株価推移")

plt.plot(x_index, stock,"r",marker="o",markersize=2)

嵌ったこと

グラフの軸に日本語入れると文字化けする

日本語フォントの利用を可能にする必要がある。
解決方法は以下の 2通り。

matplotlibrc でフォントを指定する

デフォルトでは、以下のユーザのホームディレクトリ以下( /Users/username/.matplotlib/matplotlibrc )にある matplotlibrc ファイルに以下のような感じで font.family を追記すれば OK。

echo "font.family : AppleGothic" >> ~/.matplotlib/matplotlibrc

これで rcParams[‘font.family’] を設定しなくてもデフォルトでフォント指定できる。

ところで、hogerc ってファイルたくさんあるけど、 rc の由来ってなんだろう?
答えは Run Command の意味らしい。
ソースは以下。 superuser.com

スクリプト内で明示的にフォント指定する方法

以下のコードをスクリプト内に仕込みます。

import matplotlib.pyplot as plt
plt.rcParams['font.family'] = 'AppleGothic' # Mac 環境での日本語指定

上の rc ファイルを変更する方法との違いとしては、
フォント指定したいときは都度都度スクリプト側にこのコード書く必要があります。

参考

k-db.com

openbook4.me