質問編集履歴

3

追記

2019/11/11 07:59

投稿

11390
11390

スコア20

test CHANGED
File without changes
test CHANGED
@@ -118,6 +118,24 @@
118
118
 
119
119
  plt.fill_between(np.append(x1_list, x2_list[::-1]), np.append(z1_list, z2_list[::-1]),where=z2_list<=z1_list,facecolor='red', interpolate=True)#二線の間の色を表す
120
120
 
121
+ # その他,描画用オプション
122
+
123
+ plt.xticks(fontsize=10)
124
+
125
+ plt.yticks(fontsize=10)
126
+
127
+ plt.ylim([-21.62, -21.46])
128
+
129
+ plt.grid(True) #グラフの枠を作成
130
+
131
+ plt.savefig("cm.png")
132
+
133
+ plt.show()
134
+
135
+ fig = plt.figure()
136
+
137
+
138
+
121
139
  ```
122
140
 
123
141
 

2

変更

2019/11/11 07:58

投稿

11390
11390

スコア20

test CHANGED
File without changes
test CHANGED
@@ -1,27 +1,159 @@
1
- open関数についての質問です。openは第一引数にファル名挿入するものと理解しているのでが、
1
+ 現在tkinterを用いてアログ開いてい
2
2
 
3
+ openは第一引数にファイル名を挿入するものと理解しています。ファイルのパスは取得したのですが、このファイルをf1,f2に代入したいです。
4
+
3
- 例え
5
+ どうすれよいでしょうか?
4
6
 
5
7
  ```
6
8
 
7
- iniDir1 = os.path.abspath(os.path.dirname(__file__))
9
+ import matplotlib.pyplot as plt
8
10
 
11
+ import numpy as np
12
+
13
+ import os
14
+
15
+ import tkinter
16
+
17
+ from tkinter import messagebox
18
+
19
+ from tkinter import filedialog
20
+
21
+
22
+
23
+ root = tkinter.Tk()
24
+
25
+ root.title('微笑山') #タイトル
26
+
27
+ root.geometry('400x200') #サイズ 横x縦
28
+
29
+
30
+
31
+ #selctボタンを押したときの処理
32
+
33
+ def select_click():
34
+
35
+ messagebox.showinfo('select','真のデータ')
36
+
37
+ messagebox.showinfo('select','測定データ')
38
+
39
+ fileType = [('Excelファイル','*.txt')] #ファイルタイプをExcelファイルに指定
40
+
41
+ fileType = [('Excelファイル','*.txt')] #ファイルタイプをExcelファイルに指定
42
+
43
+ iniDir1 = os.path.abspath(os.path.dirname(__file__)) #初期表示フォルダ
44
+
45
+ iniDir2 = os.path.abspath(os.path.dirname(__file__)) #初期表示フォルダ
46
+
9
- filepath1 = filedialog.askopenfilename(filetypes=fileType,initialdir = iniDir1)
47
+ filepath1 = filedialog.askopenfilename(filetypes=fileType,initialdir = iniDir1)
48
+
49
+ filepath2 = filedialog.askopenfilename(filetypes=fileType,initialdir = iniDir2)
50
+
51
+ messagebox.showinfo('選択したファイル',filepath1)
52
+
53
+ messagebox.showinfo('選択したファイル',filepath2)
54
+
55
+ #ボタンを作成
56
+
57
+ selectButton = tkinter.Button(root, text='fast Select',command=select_click)
58
+
59
+ selectButton.pack()
60
+
61
+
62
+
63
+ root.mainloop()
64
+
65
+
66
+
67
+ x1_list=[] # data1格納用のx_listを定義
68
+
69
+ z1_list=[] # data1格納用のz_listを定義
70
+
71
+ x2_list=[] # data2格納用のx_listを定義
72
+
73
+ z2_list=[] # data2格納用のz_listを定義
74
+
75
+
76
+
77
+ f1=open(filepath1,"r")
78
+
79
+ f2=open(filepath2,"r") # プロットしたいデータが入っているファイルをr(読み込み) t(テキスト)モードで読み込む
80
+
81
+
82
+
83
+ #data1読み込み
84
+
85
+ for line in f1:
86
+
87
+ data1 = line[:-1].split(' ')
88
+
89
+ x1_list.append(float(data1[0]))
90
+
91
+ z1_list.append(float(data1[1]))
92
+
93
+ #data2読み込み
94
+
95
+ for line in f2:
96
+
97
+ data2 = line[:-1].split(' ')
98
+
99
+ x2_list.append(float(data2[0]))
100
+
101
+ z2_list.append(float(data2[1]))
102
+
103
+ ##
104
+
105
+ plt.xlabel('X') # x軸のラベル
106
+
107
+ plt.ylabel('Z') # y軸のラベル
108
+
109
+
110
+
111
+ plt.plot(x1_list, z1_list, color="White", alpha=0.8, linewidth=4.0, label="data1")
112
+
113
+ plt.plot(x2_list, z2_list, color="White", alpha=0.8, linewidth=4.0, label="data2")
114
+
115
+ plt.legend()
116
+
117
+ plt.fill_between(np.append(x1_list, x2_list[::-1]), np.append(z1_list, z2_list[::-1]),where=z2_list>=z1_list, facecolor='green', interpolate=True)#二線の間の色を表す
118
+
119
+ plt.fill_between(np.append(x1_list, x2_list[::-1]), np.append(z1_list, z2_list[::-1]),where=z2_list<=z1_list,facecolor='red', interpolate=True)#二線の間の色を表す
10
120
 
11
121
  ```
12
122
 
123
+
124
+
13
- として絶対パスが取得できたときに
125
+ エラー
14
126
 
15
127
  ```
16
128
 
129
+ Traceback (most recent call last):
130
+
131
+
132
+
133
+ File "<ipython-input-1-32532a3f4e19>", line 1, in <module>
134
+
135
+ runfile('C:/Users/Administartor/Desktop/いいべ.py', wdir='C:/Users/Administartor/Desktop')
136
+
137
+
138
+
139
+ File "C:\Users\Administartor\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 705, in runfile
140
+
141
+ execfile(filename, namespace)
142
+
143
+
144
+
145
+ File "C:\Users\Administartor\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 102, in execfile
146
+
147
+ exec(compile(f.read(), filename, 'exec'), namespace)
148
+
149
+
150
+
151
+ File "C:/Users/Administartor/Desktop/いいべ.py", line 38, in <module>
152
+
17
- open(filepath1,"r")
153
+ f1=open(filepath1,"r")
154
+
155
+
156
+
157
+ NameError: name 'filepath1' is not defined
18
158
 
19
159
  ```
20
-
21
- というプログラムで開けないものかと思っていましたが、作成したプログラムでエラーが発生してます。
22
-
23
- この場合open関数はファイル名を挿入することにしか対応していないのでしょうか?
24
-
25
- それとも別の関数があるのでしょうか?
26
-
27
- 教えていただけると助かります。

1

変更

2019/11/11 07:56

投稿

11390
11390

スコア20

test CHANGED
File without changes
test CHANGED
@@ -14,7 +14,7 @@
14
14
 
15
15
  ```
16
16
 
17
- open("filepath1","r")
17
+ open(filepath1,"r")
18
18
 
19
19
  ```
20
20