以前質問した関連についてのプログラムです。
10種類のテキストファイルを読み込んで、[]の格納して表示するプログラムとなっています。データは今(X、Z)の二次元配列です。
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])) min_z = min(z1_list) max_z = max(z1_list) tmin = min(z2_list) if tmin < min_z: min_z = tmin tmax = max(z2_list) if tmax > max_z: max_z = tmax tmin = min(z3_list) if tmin < min_z: min_z = tmin tmax = max(z3_list) if tmax > max_z: max_z = tmax tmin = min(z4_list) if tmin < min_z: min_z = tmin tmax = max(z4_list) if tmax > max_z: max_z = tmax tmin = min(z5_list) if tmin < min_z: min_z = tmin tmax = max(z5_list) if tmax > max_z: max_z = tmax tmin = min(z6_list) if tmin < min_z: min_z = tmin tmax = max(z6_list) if tmax > max_z: max_z = tmax tmin = min(z7_list) if tmin < min_z: min_z = tmin tmax = max(z7_list) if tmax > max_z: max_z = tmax tmin = min(z8_list) if tmin < min_z: min_z = tmin tmax = max(z8_list) if tmax > max_z: max_z = tmax tmin = min(z9_list) if tmin < min_z: min_z = tmin tmax = max(z9_list) if tmax > max_z: max_z = tmax tmin = min(z10_list) if tmin < min_z: min_z = tmin tmax = max(z10_list) if tmax > max_z: max_z = tmax #tmin = min(z11_list) #if tmin < min_z: # min_z = tmin #tmax = max(z11_list) #if tmax > max_z: # max_z = tmax ## 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([min_z - 0.02, max_z + 0.02]) plt.grid(True) #グラフの枠を作成 fig = plt.figure() plt.subplots_adjust(wspace=0.3, hspace=0.6) plt.show() # 描画結果を出力する。必ず書く。
一例テキストファイルの二次元表示
![
これらのデータを奥行方向に繋げることはできないかと思い、似たような事を質問されている方をみつけました。
<https://teratail.com/questions/202453>
こちらの方のように動かす必要はないのですが、三次元は扱ったことがないので、どなたかご教授下さい。
回答2件
あなたの回答
tips
プレビュー