import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
#データ読み込み
df = pd.read_excel('sampdata.xlsx')
#変数格納 1行目(時間)と2行目(電圧)
time = df.iloc[:,0]
volt = df.iloc[:,1]
#1,0のデータに変換
volt[volt>1] = 1
volt[volt<1] = 0
#電圧の微分を求める
volt_diff = np.diff(volt.values)
#電圧の微分と時間の数を合わせる
time2 = time[1:]
#電圧の微分が1以上の時間間隔と-1以下の時間間隔を求める
time_diff_p = np.diff(time2.values[volt_diff>0])
time_diff_m = np.diff(time2.values[volt_diff<0])
#グラフ描画
fig = plt.figure(figsize=(6, 4),
dpi=72,
facecolor='skyblue',
linewidth=10,
edgecolor='green')
ax = fig.add_subplot(1,1,1)
ax.plot(time2[volt_diff>0].values[1:], time_diff_p/np.max(time_diff_p), marker='o', color='tomato', linestyle='None')
ax.plot(time2[volt_diff<0].values[1:], time_diff_m/np.max(time_diff_m), marker='x', color='aqua', linestyle='None')
ax.plot(time, volt, marker='None', color='orange', linestyle='-')
#グラフ保存
fig.savefig('edge.png')
More than 3 years have passed since last update.
Register as a new user and use Qiita more conveniently
- You get articles that match your needs
- You can efficiently read back useful information
- You can use dark theme