python繪制雷達圖實例講解

在python中,有很多用於生成基於JS的百度開源的數據可視化圖表 Echarts 的類庫。設置的圖樣都非常漂亮,小編之前研究過很多圖示,用python去抓取數據,然後進行畫圖,經歷這麼多得圖樣,最深有感觸的還是關於繪制雷達圖,大傢應該都遇到過需要用到雷達圖的時候吧,那就一起來瞭解下吧。

安裝模塊:

pip install pyecharts

導入模塊:

from pyecharts import options as opts

準備數據:

大傢可以自行導入數據使用。

繪制雷達圖:

randar = Radar()
randar.add_schema()#制定指標
randar.add()#添加數據
randar.render('.html')#生成html文件

實現結果:

實例擴展:

雷達圖

import matplotlib.pyplot as plt
import numpy as np

values = [0.09,-0.05,0.20,-0.02,0.08,0.09,0.03,0.027]
x = np.linspace(0,2*np.pi,9)[:-1]
c = np.random.random(size=(8,3))
fig = plt.figure()
plt.axes(polar=True)
#獲取當前的axes
print(plt.gca())
#繪圖
plt.bar(x,values,width=0.5,color=c,align='center')
plt.scatter(x,values,marker='o',c='black')
#添加文本
plt.figtext(0.03,0.7,s='陸地面積增長指數',fontproperties='KaiTi',fontsize=22,rotation='vertical',verticalalignment='center',horizontalalignment='center')

plt.ylim(-0.05, 0.25)

labels = np.array(['省1','省2','省3','省4','省5','省6','省7','研究區'])
dataLength = 8
angles = np.linspace(0, 2*np.pi, dataLength, endpoint=False)
plt.thetagrids(angles * 180/np.pi, labels,fontproperties='KaiTi',fontsize=18)

#添加註釋
# plt.annotate(s='省',xy=(0,0.09),xytext=(0,0.28),fontproperties='KaiTi',fontsize=18)
# plt.annotate(s='省',xy=(0,-0.05),xytext=(np.pi/4,0.28),fontproperties='KaiTi',fontsize=18)
# plt.annotate(s='省',xy=(0,0.20),xytext=(np.pi/2,0.28),fontproperties='KaiTi',fontsize=18)
# plt.annotate(s='省',xy=(0,-0.02),xytext=(3*np.pi/4,0.33),fontproperties='KaiTi',fontsize=18)
# plt.annotate(s='省',xy=(0,0.08),xytext=(np.pi,0.38),fontproperties='KaiTi',fontsize=18)
# plt.annotate(s='省',xy=(0,0.09),xytext=(np.pi*5/4,0.35),fontproperties='KaiTi',fontsize=18)
# plt.annotate(s='前江省',xy=(0,0.03),xytext=(np.pi*3/2,0.30),fontproperties='KaiTi',fontsize=18)
# plt.annotate(s='研究區',xy=(0,0.027),xytext=(np.pi*7/4,0.28),fontproperties='KaiTi',fontsize=18)
#設置網格線樣式
plt.grid(c='gray',linestyle='--',)


# y1 = [-0.05,0.0,0.05,0.10,0.15,0.20,0.25]
# lai=fig.add_axes([0.12,0.01,0.8,0.98])
# lai.patch.set_alpha(0.25)
# lai.set_ylim(-0.05, 0.25)
#顯示
plt.show()

到此這篇關於python繪制雷達圖實例講解的文章就介紹到這瞭,更多相關如何使用python繪制雷達圖內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: