こんにちは、ヒガシです。
このページでは、以下の画像のように変則的な階段状データ配列を作成する方法をご紹介していきます。
段が上がる位置と高さを任意の数だけ指定してあげるだけで、どんな階段でも作成可能です。
こうゆうデータは意外と使いどころがあるのでぜひご活用ください。
変則的な階段状データを作成するサンプルコード
それでは早速ですが、サンプルコードのご紹介です。
#ライブラリインポート
import numpy as np
import matplotlib.pyplot as plt
#Xの閾値、Yのデータを指定
x_thresh=np.array([20,50,100,200,600,700,1200])
y_data=np.array([1,2,4,5,8,12,20])
#データを小さい順に並び替え
x_thresh=np.sort(x_thresh)
y_data=np.sort(y_data)
#変則階段データ作成処理
Xdata=[]
Ydata=[]
c=0
for i in range(x_thresh[-1]):
Xdata.append(i)
Ydata.append(y_data[c])
if i/x_thresh[c]>1:
c+=1
Xdata=np.array(Xdata)
Ydata=np.array(Ydata)
#グラフ化
plt.plot(Xdata,Ydata)
plt.xlabel('X', fontsize=14)
plt.ylabel('Y', fontsize=14)
plt.savefig('pic5.jpg', dpi=300)
これでXdata, Ydataに冒頭紹介したようなデータが格納されています。
入力変数の解説
基本的に先ほどのコード内であなたが変更する点は以下の2つだけです。
★x_thresh
★y_data
先ほどのコードでは、
x_thresh=np.array([20,50,100,200,600,700,1200])
y_data=np.array([1,2,4,5,8,12,20])
で実行した結果、以下の画像が出力されています。
このグラフからも分かる通り、x_threshの一つ目の値は1段目の位置、y_dataは0段目の高さを表しています。
2つめ以降の数値はその後の階段データとリンクしていることがわかると思います。
非常に簡単ですね。
変数を変えて実行してみた結果
それでは先ほどのコードの変数をいろいろと変えながら実行してみましょう。
以下で実行してみます。
x_thresh=np.array([60,90,100,350,400,700,800])
y_data=np.array([0,3,6,9,10,12,14])
問題なく実行できていますね。
次は以下。
データ数を増やして実行してみます。
x_thresh=np.array([10,90,300,900,1400,2000,2800,3000])
y_data=np.array([4,8,20,40,60,210,410,500])
データ数が変わっても問題なしですね。
おわりに
というわけで今回はpythonを使って、変則的な階段状配列データを作成する方法をご紹介しました。
意外と使いどころがあるスキルなので、こんなこともできるということは覚えておきましょう。
このように、私のブログでは様々なスキルを紹介しています。
今は仕事中で時間がないかもしれませんが、ぜひ通勤時間中などに他の記事も読んでいただけると嬉しいです。
⇒興味をもった方は【ヒガサラ】で検索してみてください。
確実にスキルアップできるはずです。
最後に、この記事が役に立ったという方は、ぜひ応援よろしくお願いします。
↓ 応援ボタン
にほんブログ村
それではまた!
Follow @HigashiSalary
コメント