【Python】変則的な階段状データを作成!位置、高さ指定するだけ!

こんにちは、ヒガシです。

 

このページでは、以下の画像のように変則的な階段状データ配列を作成する方法をご紹介していきます。

変則的な階段状データの概要説明

段が上がる位置と高さを任意の数だけ指定してあげるだけで、どんな階段でも作成可能です。

 

こうゆうデータは意外と使いどころがあるのでぜひご活用ください。

 

スポンサーリンク

変則的な階段状データを作成するサンプルコード

それでは早速ですが、サンプルコードのご紹介です。

#ライブラリインポート
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を使って、変則的な階段状配列データを作成する方法をご紹介しました。

 

意外と使いどころがあるスキルなので、こんなこともできるということは覚えておきましょう。

 

このように、私のブログでは様々なスキルを紹介しています。

過去記事一覧

 

今は仕事中で時間がないかもしれませんが、ぜひ通勤時間中などに他の記事も読んでいただけると嬉しいです。
⇒興味をもった方は【ヒガサラ】で検索してみてください。

確実にスキルアップできるはずです。

 

最後に、この記事が役に立ったという方は、ぜひ応援よろしくお願いします。
↓ 応援ボタン
にほんブログ村 IT技術ブログへ
にほんブログ村

それではまた!

コメント

タイトルとURLをコピーしました