1. 程式人生 > >matplotlib極坐標系應用之雷達圖

matplotlib極坐標系應用之雷達圖

mic alt get pac RR nump PE mage ola

技術分享圖片

 1 #!/usr/bin/env python3
 2 #-*- coding:utf-8 -*-
 3 ############################
 4 #File Name: test.py
 5 #Author: frank
 6 #Mail: [email protected]
 7 #Created Time:2018-05-23 00:01:30
 8 ############################
 9 
10 import numpy as np
11 import matplotlib.pyplot as plt
12 import matplotlib as mpl
13 14 zhfont = mpl.font_manager.FontProperties(fname=/usr/share/fonts/truetype/wqy/wqy-microhei.ttc) 15 16 radar_labels = np.array([研究型(I),藝術型(A),社會型(S), 企業型(E),常規型(C),現實型(R)]) #雷達標簽,極角標簽 17 18 19 nAttr = 6 20 21 data = np.array([[0.40, 0.32, 0.35, 0.30, 0.30, 0.88], 22 | | | |[0.85, 0.35, 0.30, 0.40, 0.40, 0.30],
23 | | | |[0.43, 0.89, 0.30, 0.28, 0.22, 0.30], 24 | | | |[0.30, 0.25, 0.48, 0.85, 0.45, 0.40], 25 | | | |[0.20, 0.38, 0.87, 0.45, 0.32, 0.28], 26 | | | |[0.34, 0.31, 0.38, 0.40, 0.92, 0.28]]) 27 28 data_labels = (藝術家, 實驗員, 工程師, 推銷員, 社會工作者,記事員)#圖例標簽 29 angles = np.linspace(0, 2*np.pi, nAttr, endpoint=False)#
弧度 30 31 32 data = np.concatenate((data, [data[0]])) #閉合 33 angles = np.concatenate((angles, [angles[0]])) #閉合 34 35 fig = plt.figure(facecolor="white") 36 plt.subplot(111, polar=True) 37 plt.plot(angles,data,o-, linewidth=1, alpha=0.2)#極坐標的 plot的angles必須是弧度值,否則數據會顯示異常 38 plt.fill(angles,data, alpha=0.25) 39 plt.thetagrids(angles*180/np.pi, radar_labels, fontproperties=zhfont) 40 plt.figtext(0.52, 0.95, 霍蘭德人格分析, ha=center, size=20, fontproperties=zhfont) 41 42 legend = plt.legend(data_labels, loc=(0.94, 0.80), labelspacing=0.1, prop=zhfont) 43 plt.setp(legend.get_texts(), fontsize=large) 44 plt.grid(True) 45 plt.savefig(holland_radar1.jpg) 46 47 plt.show()

技術分享圖片

Q1:圖例中每種成員的顏色是怎樣和極坐標相應的成員的顏色相對應的呢?且聽下回分解

matplotlib極坐標系應用之雷達圖