現在10個のデータを同じ画面に表示させるプログラムを作成しました。
(x,z)の二次元配列です。askopenfilenamesでfor文を使えばもっと簡略化できることはわかっていますが、
tupleに関するエラーが出てしまうのでとりあえずこのようにしました。
以下のプログラムでエラーは出ませんでしたが…
import matplotlib.pyplot as plt import os import tkinter from tkinter import messagebox from tkinter import filedialog root = tkinter.Tk() root.title('微小山') #タイトル root.geometry('400x200') #サイズ 横x縦 messagebox.showinfo('select','測定データ') fileType = [('テキストァイル','*.txt')] #ファイルタイプを指定 iniDir1 = os.path.abspath(os.path.dirname(__file__)) #初期表示フォルダ filepath1 = filedialog.askopenfilename(filetypes=fileType,initialdir = iniDir1) messagebox.showinfo('選択したファイル',filepath1) fileType = [('テキストァイル','*.txt')] #ファイルタイプを指定 iniDir2 = os.path.abspath(os.path.dirname(__file__)) #初期表示フォルダ filepath2 = filedialog.askopenfilename(filetypes=fileType,initialdir = iniDir2) messagebox.showinfo('選択したファイル',filepath2) fileType = [('テキストァイル','*.txt')] #ファイルタイプを指定 iniDir3 = os.path.abspath(os.path.dirname(__file__)) #初期表示フォルダ filepath3 = filedialog.askopenfilename(filetypes=fileType,initialdir = iniDir3) messagebox.showinfo('選択したファイル',filepath3) fileType = [('テキストァイル','*.txt')] #ファイルタイプを指定 iniDir4 = os.path.abspath(os.path.dirname(__file__)) #初期表示フォルダ filepath4 = filedialog.askopenfilename(filetypes=fileType,initialdir = iniDir4) messagebox.showinfo('選択したファイル',filepath4) fileType = [('テキストァイル','*.txt')] #ファイルタイプを指定 iniDir5 = os.path.abspath(os.path.dirname(__file__)) #初期表示フォルダ filepath5= filedialog.askopenfilename(filetypes=fileType,initialdir = iniDir5) messagebox.showinfo('選択したファイル',filepath5) fileType = [('テキストァイル','*.txt')] #ファイルタイプを指定 iniDir6 = os.path.abspath(os.path.dirname(__file__)) #初期表示フォルダ filepath6 = filedialog.askopenfilename(filetypes=fileType,initialdir = iniDir6) messagebox.showinfo('選択したファイル',filepath6) fileType = [('テキストァイル','*.txt')] #ファイルタイプを指定 iniDir7 = os.path.abspath(os.path.dirname(__file__)) #初期表示フォルダ filepath7 = filedialog.askopenfilename(filetypes=fileType,initialdir = iniDir7) messagebox.showinfo('選択したファイル',filepath7) fileType = [('テキストァイル','*.txt')] #ファイルタイプを指定 iniDir8 = os.path.abspath(os.path.dirname(__file__)) #初期表示フォルダ filepath8 = filedialog.askopenfilename(filetypes=fileType,initialdir = iniDir8) messagebox.showinfo('選択したファイル',filepath8) fileType = [('テキストァイル','*.txt')] #ファイルタイプを指定 iniDir9 = os.path.abspath(os.path.dirname(__file__)) #初期表示フォルダ filepath9 = filedialog.askopenfilename(filetypes=fileType,initialdir = iniDir9) messagebox.showinfo('選択したファイル',filepath9) fileType = [('テキストァイル','*.txt')] #ファイルタイプを指定 iniDir10 = os.path.abspath(os.path.dirname(__file__)) #初期表示フォルダ filepath10 = filedialog.askopenfilename(filetypes=fileType,initialdir = iniDir10) messagebox.showinfo('選択したファイル',filepath10) #list = [filepath] #for i in range(len(list)): # list_item = list[i] root.destroy() root.mainloop() x1_list=[] # data1格納用のx_listを定義 z1_list=[] # data1格納用のz_listを定義 x2_list=[] # data2格納用のx_listを定義 z2_list=[] # data2格納用のz_listを定義 x3_list=[] # data2格納用のx_listを定義 z3_list=[] # data2格納用のz_listを定義 x4_list=[] # data2格納用のx_listを定義 z4_list=[] # data2格納用のz_listを定義 x5_list=[] # data2格納用のx_listを定義 z5_list=[] # data2格納用のz_listを定義 x6_list=[] # data2格納用のx_listを定義 z6_list=[] # data2格納用のz_listを定義 x7_list=[] # data2格納用のx_listを定義 z7_list=[] # data2格納用のz_listを定義 x8_list=[] # data2格納用のx_listを定義 z8_list=[] # data2格納用のz_listを定義 x9_list=[] # data2格納用のx_listを定義 z9_list=[] # data2格納用のz_listを定義 x10_list=[] # data2格納用のx_listを定義 z10_list=[] # data2格納用のz_listを定義 #x11_list=[] # data2格納用のx_listを定義 #z11_list=[] # data2格納用のz_listを定義 f1=open(filepath1) f2=open(filepath2) f3=open(filepath3) f4=open(filepath4) f5=open(filepath5) f6=open(filepath6) f7=open(filepath7) f8=open(filepath8) f9=open(filepath9) f10=open(filepath10) #f11=open(1, list_item) #data1読み込み for line in f1: data1 = line[:-1].split(' ') x1_list.append(float(data1[0])) z1_list.append(float(data1[1])) #data2読み込み for line in f2: data2 = line[:-1].split(' ') x2_list.append(float(data2[0])) z2_list.append(float(data2[1])) for line in f3: data3 = line[:-1].split(' ') x3_list.append(float(data3[0])) z3_list.append(float(data3[1])) for line in f4: data4 = line[:-1].split(' ') x4_list.append(float(data4[0])) z4_list.append(float(data4[1])) for line in f5: data5 = line[:-1].split(' ') x5_list.append(float(data5[0])) z5_list.append(float(data5[1])) for line in f6: data6 = line[:-1].split(' ') x6_list.append(float(data6[0])) z6_list.append(float(data6[1])) for line in f7: data7 = line[:-1].split(' ') x7_list.append(float(data7[0])) z7_list.append(float(data7[1])) for line in f8: data8 = line[:-1].split(' ') x8_list.append(float(data8[0])) z8_list.append(float(data8[1])) for line in f9: data9 = line[:-1].split(' ') x9_list.append(float(data9[0])) z9_list.append(float(data9[1])) for line in f10: data10 = line[:-1].split(' ') x10_list.append(float(data10[0])) z10_list.append(float(data10[1])) #for line in f11: # data11 = line[:-1].split(' ') # x11_list.append(float(data11[0])) #z11_list.append(float(data11[1])) ## plt.xlabel('X') # x軸のラベル plt.ylabel('Z') # y軸のラベル plt.plot(x1_list, z1_list, color="red", alpha=0.8, linewidth=2.0, label="data1") plt.plot(x2_list, z2_list, color="red", alpha=0.8, linewidth=2.0, label="data2") plt.plot(x3_list, z3_list, color="red", alpha=0.8, linewidth=2.0, label="data3") plt.plot(x4_list, z4_list, color="red", alpha=0.8, linewidth=2.0, label="data4") plt.plot(x5_list, z5_list, color="red", alpha=0.8, linewidth=2.0, label="data5") plt.plot(x6_list, z6_list, color="red", alpha=0.8, linewidth=2.0, label="data6") plt.plot(x7_list, z7_list, color="red", alpha=0.8, linewidth=2.0, label="data7") plt.plot(x8_list, z8_list, color="red", alpha=0.8, linewidth=2.0, label="data8") plt.plot(x9_list, z9_list, color="red", alpha=0.8, linewidth=2.0, label="data9") plt.plot(x10_list, z10_list, color="red", alpha=0.8, linewidth=2.0, label="data10") #plt.plot(x11_list, z11_list, color="red", alpha=0.8, linewidth=2.0, label="data11") plt.legend() plt.xticks(fontsize=10) plt.yticks(fontsize=10) plt.ylim([-21.62, -21.46]) plt.grid(True) #グラフの枠を作成
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/12/18 06:14