teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

13

文法の修正

2020/11/22 20:28

投稿

putaro
putaro

スコア9

title CHANGED
File without changes
body CHANGED
@@ -25,22 +25,21 @@
25
25
  for d in csv_file_path:
26
26
  df = pd.read_csv(d,dtype=str,header=None)
27
27
  df_list.append(df)
28
+ #行列数を取得
28
29
  index = len(df)
29
30
  index_list.append(index)
30
31
 
31
32
  fig = plt.figure()
32
33
 
33
- for i in range(len(df_list)):
34
- x_sign = np.arange(0,2,1)
34
+ #リスト番号の0番目の値
35
- x_exp = np.arange(1,12,1)
35
+ #y軸
36
- x_frac = np.arange(11,64,1)
37
- y = np.arange(0,index_list[i],1)
36
+ y=np.arange(0,index_list[0],1)
38
- ax = fig.add_subplot(3,len(df_list)/3,i + 1,title="64bit_graph",ylim=(index_list[i],0))
39
37
 
38
+ ax = fig.add_subplot(1,1,1,title="64bit_graph",ylim=(index_list[0],0),xlim=(0,64))
40
- for s in y:
39
+ for s in y:
41
- plt.plot(x_sign,y[s],color="y")
40
+ plt.axhline(y=int(y[s]),xmin=0.0,xmax=0.016,color="y")
42
- plt.plot(x_exp,y[s],color="g")
41
+ plt.axhline(y=int(y[s]),xmin=0.016,xmax=0.17,color="g")
43
- plt.plot(x_frac,y[s],color="b")
42
+ plt.axhline(y=int(y[s]),xmin=0.17,xmax=1.0,color="b")
44
43
  plt.show()
45
44
  ```
46
45
  #読み込んだcsvファイルの例

12

文法の修正

2020/11/22 20:28

投稿

putaro
putaro

スコア9

title CHANGED
File without changes
body CHANGED
@@ -26,7 +26,7 @@
26
26
  df = pd.read_csv(d,dtype=str,header=None)
27
27
  df_list.append(df)
28
28
  index = len(df)
29
- index_list.append(df)
29
+ index_list.append(index)
30
30
 
31
31
  fig = plt.figure()
32
32
 

11

コードの修正

2020/11/22 02:32

投稿

putaro
putaro

スコア9

title CHANGED
File without changes
body CHANGED
@@ -32,8 +32,8 @@
32
32
 
33
33
  for i in range(len(df_list)):
34
34
  x_sign = np.arange(0,2,1)
35
- x_exp = np.arange(2,13,1)
35
+ x_exp = np.arange(1,12,1)
36
- x_frac = np.arange(13,65,1)
36
+ x_frac = np.arange(11,64,1)
37
37
  y = np.arange(0,index_list[i],1)
38
38
  ax = fig.add_subplot(3,len(df_list)/3,i + 1,title="64bit_graph",ylim=(index_list[i],0))
39
39
 

10

文法の修正

2020/11/22 02:18

投稿

putaro
putaro

スコア9

title CHANGED
File without changes
body CHANGED
@@ -35,7 +35,7 @@
35
35
  x_exp = np.arange(2,13,1)
36
36
  x_frac = np.arange(13,65,1)
37
37
  y = np.arange(0,index_list[i],1)
38
- ax = fig.add_subplot(3,len(df_list)/3,i + 1,title="64bit_graph",ylim=(index_list,0))
38
+ ax = fig.add_subplot(3,len(df_list)/3,i + 1,title="64bit_graph",ylim=(index_list[i],0))
39
39
 
40
40
  for s in y:
41
41
  plt.plot(x_sign,y[s],color="y")

9

文章の変更

2020/11/22 02:06

投稿

putaro
putaro

スコア9

title CHANGED
File without changes
body CHANGED
@@ -1,5 +1,5 @@
1
1
  ### 前提・実現したいこと
2
- 下の表のようなモーションセンサーのデータを測定したcsvファイルのデータの行数を取得しその値を利用して、
2
+ 下の表のようなモーションセンサーのデータを測定したcsvファイルのデータの行数を取得しその値を利用して、
3
3
 
4
4
  xの定義域(0 <= x <= 64)、yの値域(0 <= Yn <= n - 1)
5
5
  Yn = Kn 

8

画像の追加

2020/11/21 18:03

投稿

putaro
putaro

スコア9

title CHANGED
File without changes
body CHANGED
@@ -1,13 +1,13 @@
1
1
  ### 前提・実現したいこと
2
2
  下の表のようなモーションセンサーのデータを測定した。csvファイルのデータの行数を取得しその値を利用して、
3
3
 
4
- xの定義域(0 <= x <= 64)、yの値域(0 <= yn <= n - 1)
4
+ xの定義域(0 <= x <= 64)、yの値域(0 <= Yn <= n - 1)
5
- yn = Kn 
5
+ Yn = Kn 
6
6
  のx軸に対して平行な直線を描きたいです。
7
7
 
8
- ここで、nは取得したデータの行数の連番({n|n=0,1,2,....,n-1)を表していて、Knは取得したcsvデータの行数番号の連番の値{Kn|0 <= Kn <= n-1}です。
8
+ ここで、nは取得したデータの行数の連番({n|n=0,1,2,....,n-1)を表していて、Knはの行数番号の連番の値{Kn|0 <= Kn <= n-1}です。
9
9
 
10
- 今回実現したいことは、この直線が、64ビットの浮動小数点を表していると仮定して、x定義域(0〜1)までを符号部、(1〜11)までを指数部、最後に(11〜63)までを仮数部として、直線の色を変えていきたいです
10
+ 今回実現したいことは、この直線が、64ビットの浮動小数点を表していると仮定して、xをある定義域(0〜1)までを符号部、(1〜11)までを指数部、最後に(11〜63)までを仮数部として、直線の色を変えていきたいです
11
11
  ### 発生している問題・エラーメッセージ
12
12
  yの値(行数の数)ごとにx軸に対して平行で3色に分けられたグラフのプロットを試みたつもりなのですが...うまくいきませんでした
13
13
  エラーメッセージ
@@ -53,11 +53,15 @@
53
53
  -0.005034634878809447 | -0.006784316103084711 | -0.0372773035594495
54
54
  ||||
55
55
 
56
-
56
+ #理想のグラフ(手書き)
57
+ ![イメージ説明](d13165030fdddf9c4200e071dc969ad1.jpeg)
58
+ 取得した行数n=3の時、x軸に平行で、かつある定義域ごとに色が変わる直線の例
57
59
  ### 試したこと
58
60
  水平グラフ表示のplt.axhlineも試したがうまくいかなかった
59
- まだ初心者でわからないことだらけです。
60
61
 
62
+ 綺麗ではない手書きのグラフですみません、その上、数学も....
63
+ まだ初心者でわからないことだらけですがよろしくお願いします。
64
+
61
65
  ### 補足情報(FW/ツールのバージョンなど)
62
66
  macbook air 2013
63
67
  python 3.8.0

7

値の修正

2020/11/21 17:47

投稿

putaro
putaro

スコア9

title CHANGED
File without changes
body CHANGED
@@ -7,7 +7,7 @@
7
7
 
8
8
  ここで、nは取得したデータの行数の連番({n|n=0,1,2,....,n-1)を表していて、Knは取得したcsvデータの行数番号の連番の値{Kn|0 <= Kn <= n-1}です。
9
9
 
10
- 今回実現したいことは、この直線が、64ビットの浮動小数点を表していると仮定して、xの定義域で(0〜1)までを符号部、(212)までを指数部、最後に(1364)までを仮数部として、直線の色を変えていきたいです
10
+ 今回実現したいことは、この直線が、64ビットの浮動小数点を表していると仮定して、xの定義域で(0〜1)までを符号部、(111)までを指数部、最後に(1163)までを仮数部として、直線の色を変えていきたいです
11
11
  ### 発生している問題・エラーメッセージ
12
12
  yの値(行数の数)ごとにx軸に対して平行で3色に分けられたグラフのプロットを試みたつもりなのですが...うまくいきませんでした
13
13
  エラーメッセージ

6

コードを間違えていた

2020/11/21 16:27

投稿

putaro
putaro

スコア9

title CHANGED
File without changes
body CHANGED
@@ -34,7 +34,7 @@
34
34
  x_sign = np.arange(0,2,1)
35
35
  x_exp = np.arange(2,13,1)
36
36
  x_frac = np.arange(13,65,1)
37
- y = np.arange(0,index_list(i),1)
37
+ y = np.arange(0,index_list[i],1)
38
38
  ax = fig.add_subplot(3,len(df_list)/3,i + 1,title="64bit_graph",ylim=(index_list,0))
39
39
 
40
40
  for s in y:

5

説明の訂正

2020/11/21 16:11

投稿

putaro
putaro

スコア9

title CHANGED
File without changes
body CHANGED
@@ -1,6 +1,5 @@
1
1
  ### 前提・実現したいこと
2
- 下の表のようなモーションセンサーのデータを測定した。csvファイルのデータの行数を取得して、
2
+ 下の表のようなモーションセンサーのデータを測定した。csvファイルのデータの行数を取得しその値を利用して、
3
- その値を利用して、
4
3
 
5
4
  xの定義域(0 <= x <= 64)、yの値域(0 <= yn <= n - 1)
6
5
  yn = Kn 

4

説明を変更しました。

2020/11/21 16:07

投稿

putaro
putaro

スコア9

title CHANGED
File without changes
body CHANGED
@@ -1,6 +1,14 @@
1
1
  ### 前提・実現したいこと
2
- モーションセンサーから測定した各軸のデータが書かれたcsvファイル(読み込んだファイルは下表から列がモションセンサーx軸、y軸、z軸を表しています)をpythonのグラフ描画ライブラリであるmatplotlibを使って読み込み、csvファイルの行数をy軸と、x軸を64ビットの数値表現とし64までの目盛を用意しxの値が0~1までを符号、2~12までを指数、13~64までを仮数として色分けした(x軸に平行な)グラフを描きたいです
2
+ 下の表のようなモーションセンサーのデータを測定しcsvファイルのの行数を取得して、
3
+ その値を利用して、
3
4
 
5
+ xの定義域(0 <= x <= 64)、yの値域(0 <= yn <= n - 1)
6
+ yn = Kn 
7
+ のx軸に対して平行な直線を描きたいです。
8
+
9
+ ここで、nは取得したデータの行数の連番({n|n=0,1,2,....,n-1)を表していて、Knは取得したcsvデータの行数番号の連番の値{Kn|0 <= Kn <= n-1}です。
10
+
11
+ 今回実現したいことは、この直線が、64ビットの浮動小数点を表していると仮定して、xの定義域で(0〜1)までを符号部、(2〜12)までを指数部、最後に(13〜64)までを仮数部として、直線の色を変えていきたいです
4
12
  ### 発生している問題・エラーメッセージ
5
13
  yの値(行数の数)ごとにx軸に対して平行で3色に分けられたグラフのプロットを試みたつもりなのですが...うまくいきませんでした
6
14
  エラーメッセージ

3

表の追加

2020/11/21 16:06

投稿

putaro
putaro

スコア9

title CHANGED
File without changes
body CHANGED
@@ -1,6 +1,5 @@
1
1
  ### 前提・実現したいこと
2
- モーションセンサーから測定した各軸のデータが書かれたcsvファイルをpythonのグラフ描画ライブラリであるmatplotlibを使ってy軸を読み込んだcsvファイルの行数、x軸を64ビットの数値表現として64までの目盛を用意し、xの値が0~1までを符号、2~12までを指数、13~64までを仮数として色分けした(x軸に平行な)グラフを描きたいです
3
- ■■な機能を実装中に以下のエラーメッセージが発生しました。
2
+ モーションセンサーから測定した各軸のデータが書かれたcsvファイル(読み込んだファイルは下の表から列がモーションセンサーのx軸、y軸、z軸表しています)をpythonのグラフ描画ライブラリであるmatplotlibを使って読み込み、csvファイルの行数をy軸とし、x軸を64ビットの数値表現として64までの目盛を用意し、xの値が0~1までを符号、2~12までを指数、13~64までを仮数として色分けした(x軸に平行な)グラフを描きたいです
4
3
 
5
4
  ### 発生している問題・エラーメッセージ
6
5
  yの値(行数の数)ごとにx軸に対して平行で3色に分けられたグラフのプロットを試みたつもりなのですが...うまくいきませんでした
@@ -36,16 +35,25 @@
36
35
  plt.plot(x_exp,y[s],color="g")
37
36
  plt.plot(x_frac,y[s],color="b")
38
37
  plt.show()
39
- ````
38
+ ```
39
+ #読み込んだcsvファイルの例
40
+ |x|y|z|
41
+ |:--:|:--:|:--:|
42
+ -0.0021822779404043102 | -0.011354400497599271| -0.021566487675835376
43
+ -0.001787169969495153 | 0.0033697903852851594 | -0.015884067258401774
44
+ 0.006165254335445933 | -0.005569805768012884 | -0.006603589812139398
45
+ 0.008625260373964556 | 0.002838294734545343 | -0.02680668760096887
46
+ -0.005034634878809447 | -0.006784316103084711 | -0.0372773035594495
47
+ ||||
48
+
49
+
40
50
  ### 試したこと
41
51
  水平グラフ表示のplt.axhlineも試したがうまくいかなかった
42
52
  まだ初心者でわからないことだらけです。
43
- ここに問題に対して試したことを記載してください。
44
53
 
45
54
  ### 補足情報(FW/ツールのバージョンなど)
46
55
  macbook air 2013
47
56
  python 3.8.0
48
57
  matplotlib 3.3.2
49
58
  numpy 1.19.4
50
- pandas 1.1.4
59
+ pandas 1.1.4
51
- ここにより詳細な情報を記載してください。

2

ソースの改変

2020/11/21 04:58

投稿

putaro
putaro

スコア9

title CHANGED
File without changes
body CHANGED
@@ -7,9 +7,7 @@
7
7
  エラーメッセージ
8
8
  x and y must have same first dimension, but have shapes (2,) and (1,)
9
9
  ### 該当のソースコード
10
-
11
10
  ```python
12
- ソースコード
13
11
  root_path = "#目的のファイルがあるフォルダまでのパス"
14
12
  file_path = pathlib.Path(root_path)
15
13
 
@@ -17,29 +15,28 @@
17
15
 
18
16
  df_list = []
19
17
  index_list = []
18
+
20
19
  for d in csv_file_path:
21
-
22
20
  df = pd.read_csv(d,dtype=str,header=None)
23
21
  df_list.append(df)
24
-
25
22
  index = len(df)
26
23
  index_list.append(df)
27
24
 
28
25
  fig = plt.figure()
26
+
29
27
  for i in range(len(df_list)):
30
-
31
28
  x_sign = np.arange(0,2,1)
32
29
  x_exp = np.arange(2,13,1)
33
30
  x_frac = np.arange(13,65,1)
34
-
35
31
  y = np.arange(0,index_list(i),1)
32
+ ax = fig.add_subplot(3,len(df_list)/3,i + 1,title="64bit_graph",ylim=(index_list,0))
36
33
 
37
- ax = fig.add_subplot(3,len(df_list)/3,i + 1,title="64bit_graph",ylim=(index_list,0))
38
34
  for s in y:
39
35
  plt.plot(x_sign,y[s],color="y")
40
36
  plt.plot(x_exp,y[s],color="g")
41
37
  plt.plot(x_frac,y[s],color="b")
42
38
  plt.show()
39
+ ````
43
40
  ### 試したこと
44
41
  水平グラフ表示のplt.axhlineも試したがうまくいかなかった
45
42
  まだ初心者でわからないことだらけです。

1

ソースコードの表示がおかしかった

2020/11/20 22:04

投稿

putaro
putaro

スコア9

title CHANGED
File without changes
body CHANGED
@@ -12,22 +12,22 @@
12
12
  ソースコード
13
13
  root_path = "#目的のファイルがあるフォルダまでのパス"
14
14
  file_path = pathlib.Path(root_path)
15
- #csvファイルのパスを取得
15
+
16
16
  csv_file_path = list(file_path.glob("*.csv"))
17
- #データフレーム
17
+
18
18
  df_list = []
19
19
  index_list = []
20
20
  for d in csv_file_path:
21
- #CSV読み込み
21
+
22
22
  df = pd.read_csv(d,dtype=str,header=None)
23
23
  df_list.append(df)
24
- #行数を取得
24
+
25
25
  index = len(df)
26
26
  index_list.append(df)
27
- #グラフ
27
+
28
28
  fig = plt.figure()
29
29
  for i in range(len(df_list)):
30
- #x軸の値
30
+
31
31
  x_sign = np.arange(0,2,1)
32
32
  x_exp = np.arange(2,13,1)
33
33
  x_frac = np.arange(13,65,1)