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

質問編集履歴

1

訂正しました.

2019/07/24 09:22

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -5,6 +5,7 @@
5
5
 
6
6
  from math import pi
7
7
 
8
+
8
9
  fn = 'yu1.csv'
9
10
  df = pd.DataFrame({
10
11
  'group': ['1','2','3','4','5','6','7','8','9','10','11','12','13','14', '15', '16','17','18','19','20','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','36'],
@@ -22,15 +23,47 @@
22
23
  'var12': [999.585,512.088,843.417,564.085,857.923,573.653,829.24,701.381,1004.52,772.284,814.993,554.546,838.862,706.268,922.4976667,808.7543333,706.269,957.264,692.032,1222.31,549.803,1487.56,772.601,942.981,961.841,1047.26,886.194,1326.58,980.854,488.278,1009.43,435.993,919.184,474.394,0,0],
23
24
  'var13': [999.776,516.729,843.602,573.494,862.55,582.848,829.36,701.578,999.969,777.416,814.993,559.299,838.862,706.268,920.2563333,808.5306667,706.269,961.925,696.603,1227.04,549.831,1487.61,772.61,947.766,957.012,1080.44,924.19,1373.97,990.23,502.329,1009.43,435.993,923.983,488.233,0,0],
24
25
  'var14': [1004.46,535.647,848.2,582.941,867.278,587.593,838.783,729.707,999.938,796.247,815.009,573.493,838.862,706.268,918.015,808.307,725.103,971.476,701.53,1231.82,549.949,1487.61,772.61,966.56,957.012,1118.06,966.816,1411.7,999.533,507.248,1009.43,435.993,924.101,493.046,0,0],
25
- 'var15': [1004.73,540.377,848.307,587.829,881.299,592.458,843.339,739.19,999.883,810.538,815.026,583.002,838.862,706.268,915.7736667,808.0833333,734.736,995.076,715.591,1260.27,549.983,1487.58,786.721,976.155,957.012,1146.51,966.816,1430.9,999.726,511.782,1009.43,435.993,924.231,502.583,0,0],
26
- 'var16': [1013.94,545.055,857.791,602.062,886.017,611.534,843.363,739.563,999.74,824.635,834.109,587.961,838.862,706.268,913.5323333,807.8596667,744.099,999.849,739.439,1269.8,550.073,1487.58,791.429,990.406,957.012,1156.34,966.816,1459.31,999.929,512.243,1009.43,435.993,928.765,512.018,0,0],
27
- 'var17': [1023.5,549.833,867.29,620.769,886.111,621.01,848.006,767.77,999.562,848.24,848.164,602.091,838.862,706.268,911.291,807.636,767.704,1018.7,758.313,1302.78,550.106,1487.58,815.207,1004.74,961.958,1175.12,971.329,1463.95,1004.46,521.554,1009.43,435.993,928.878,521.454,0,0],
28
- 'var18': [1028.11,549.833,876.732,620.769,890.822,621.01,848.251,772.394,995.09,853.248,848.37,602.091,838.862,706.268,909.0496667,807.4123333,777.112,1018.7,772.59,1302.78,554.71,1468.77,819.859,1004.74,980.942,1175.12,976.183,1468.66,1004.57,521.554,1009.43,435.993,928.974,521.454,0,0],
29
- 'var19':
30
26
 
27
+
28
+
31
29
  })
32
30
 
31
+ def make_spider(nrows, ncols, index, color, label=None, title=None, ax=None):
32
+ categories=list(df)[1:]
33
+ N = len(categories)
33
34
 
35
+ angles = [n / float(N) * 2 * pi for n in range(N)]
36
+ angles += angles[:1]
37
+
38
+ if ax == None:
39
+ ax = plt.subplot(nrows, ncols, index+1, polar=True)
40
+
41
+ ax.set_theta_offset(pi / 2)
42
+ ax.set_theta_direction(-1)
43
+
44
+ plt.xticks(angles[:-1], categories, color='grey', size=8)
45
+
46
+ ax.set_rlabel_position(0)
47
+ plt.yticks([10,20,30], ["10","20","30"], color="grey", size=7)
48
+ plt.ylim(0,40)
49
+
50
+ values=df.loc[row].drop('group').values.flatten().tolist()
51
+ values += values[:1]
52
+ ax.plot(angles, values, color=color, linewidth=2, linestyle='solid', label=label)
53
+ ax.fill(angles, values, color=color, alpha=0.4)
54
+
55
+ if title:
56
+ plt.title(title, size=11, color=color, y=1.1)
57
+
58
+ my_dpi=96
59
+ plt.figure(figsize=(1000/my_dpi, 1000/my_dpi), dpi=my_dpi)
60
+
61
+ my_palette = plt.cm.get_cmap("Set2", len(df.index))
62
+
63
+ nr, nc = 3, 2
64
+ for row in range(0, len(df.index)):
65
+ make_spider(nr, nc, row, title='group '+df['group'][row], color=my_palette(row))
66
+ plt.show()
34
67
 
35
68
 
36
69
  n![イメージ説明](4f1015522c017e526366073afac7080a.png)= 3, 2