目次
matplotlib
前回、小数から整数に変更する際の小数点以下の取り扱い(切り捨て、四捨五入、切り上げ、切り下げ)に関して解説しました。
【Python基礎】小数から整数に変更する際の小数点以下の取り扱い(切り捨て、四捨五入、切り上げ、切り…
小数点以下の取り扱い 前回、並列処理で複数の処理を行い、グローバル変数で特定の処理の終了により他の処理を終了させる方法を紹介しました。 今回は小数から整数に変…
今回はmatplotlibでグラフを描写する際、途中で分断されたグラフを表示する方法を紹介します。
途中で分断されたグラフとは例えばこんな感じです。
10と20の位置でグラフが分断されているのが分かります。
例えばデータに連続性がない場合に使われるグラフですが、自分がこのようなグラフを書こうと思った時に、結構苦労したので記事にしておこうというのが今回のお話しです。
それでは始めていきましょう。
分断されたグラフ
まずは通常のグラフを表示してみます。
import random
import matplotlib.pyplot as plt
x_val = []; y_val = []
for i in range(30):
x_val.append(i)
y_val.append(random.randrange(0,10))
fig = plt.figure()
plt.plot(x_val, y_val)
plt.show()
実行結果
とりあえずYの値を0から9のランダムにして30個のデータ点を持ったリストを作り、グラフを作成しました。
このグラフから先ほどのXの値が10と20のところだけ点がないグラフを作成してみます。
そのような分断されたグラフを作成するにはnumpyの「np.nan」、つまり欠損値を使います。
ということでXの値が10で割った余りが0の時(if i % == 0:)にはYの値をnp.nanにするようにしてみます。
import random
import matplotlib.pyplot as plt
import numpy as np
x_val = []; y_val = []
for i in range(30):
x_val.append(i)
if i % 10 == 0:
y_val.append(np.nan)
else:
y_val.append(random.randrange(0,10))
fig = plt.figure()
plt.plot(x_val, y_val)
plt.show()
実行結果
Xの値が10と20の時だけ点が表示されず、分断されたグラフを表示することができました。
このようにYの値に欠損値であるnp.nanを入れることで分断されたグラフを作成できます。
次回は文字列を解釈し、適切な型に変換してくれるast.literal_evalを使ってみましょう。
【Python基礎】ast.literal_eval()で文字列を解釈、適切な型に変換(int型、float型、リスト型、辞書…
ast(Abstract Syntax Tree):抽象構文木 前回、matplotlibで途中で分断された(切れている)グラフを出力する方法を紹介しました。 今回は文字列を適切な型に変換して…
ではでは今回はこんな感じで。
コメント