en_US English ja 日本語 zh_CN 中文

python3を使ってx軸が角度の2列xyデータで、角度をずらして取り扱う

ちょっと、いやかなりタイトルが微妙。

やりたかったことは、xyデータのx軸が0−360度のデータなんだけど、元々のデータセットだとピークが見にくいので90度ずらしたいというだけ。つまりは下図。わかりやすい日本語タイトルが思いつく人間になりたい。

プロット

データ。

1 100
2 200
3 400
4 1000
… …
360 80

てな感じの360行。

スクリプト。

filenames = tkfd.askopenfilenames(filetypes= [("all files","*"),('text','*.txt'),('text','*.dat')], initialdir='./DATA')
for i in range(len(filenames)):
  data[i] =np.loadtxt(filenames[i],comments='#',skiprows=1)
  basename[i] = os.path.basename(filenames[i]+str(i)+'.txt')
#データの並び替え。ここでは90度ずらしてるけど何度でもいい。角度を変えたらあとのfor文の長さも修正する。
  data[i][:,:]=np.vstack((data[i][90:360,:],data[i][0:90,:]))
#X軸の修正。ベターな書き方ありそう。
  for j in range(90):
    data[i][269+j,0] = 360+j
  plt.plot(data[i][:,0],data[i][:,1],'x',ms=10)
  plt.savefig('./FIGURE/HERMANS/'+'Dataprocess'+str(i)+'.png',bbox_inches='tight')

という感じ。

関連記事

1. pythonのまとめ

D

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください