File size: 1,050 Bytes
ce897fa
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
f2fdbae
ce897fa
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
362de79
ce897fa
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
37
38
39
def spider_plot(df):
  import matplotlib.pyplot as plt
  import pandas as pd
  from math import pi
      
  # number of variable
  categories=list(df)
  N = len(categories)
   
  # We are going to plot the first line of the data frame.
  # But we need to repeat the first value to close the circular graph:
  values=df.loc[0].values.flatten().tolist()
  values += values[:1]
  values
   
  # What will be the angle of each axis in the plot? (we divide the plot / number of variable)
  angles = [n / float(N) * 2 * pi for n in range(N)]
  angles += angles[:1]
   
  # Initialise the spider plot
  fig, ax = plt.subplot(111, polar=True)
   
  # Draw one axe per variable + add labels
  plt.xticks(angles[:-1], categories, color='grey', size=8)
   
  # Draw ylabels
  ax.set_rlabel_position(0)
  plt.yticks([10,20,30], ["10","20","30"], color="grey", size=7)
  plt.ylim(0,1)
   
  # Plot data
  ax.plot(angles, values, linewidth=1, linestyle='solid')
   
  # Fill area
  ax.fill(angles, values, 'b', alpha=0.1)
  
  # Show the graph
  return(fig, ax)