1. 程式人生 > 程式設計 >PYTHON繪製雷達圖程式碼例項

PYTHON繪製雷達圖程式碼例項

這篇文章主要介紹了PYTHON繪製雷達圖程式碼例項,文中通過示例程式碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

1、雷達圖

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,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,dataLength,endpoint=False)
plt.thetagrids(angles * 180/np.pi,labels,fontsize=18)

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


# y1 = [-0.05,0.0,0.05,0.10,0.15,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()

結果:

2、例項2

import matplotlib.pyplot as plt
import numpy as np

plt.rcParams['font.sans-serif'] = ['SimHei'] # 圖例中文問題
plt.rcParams['axes.unicode_minus'] = False  #正負號問題


x= np.array(['1省','2省','3省','4省','5省','6省','7省','研究區'])
y1 = np.array([5.5,7.2,17.3,15.0,10.8,21.8,3.4,81.4])
y2 = [0,-27.5,-3.9,-18.0,-0.2,-1.4,-1.7,-52.1]
y3 = [5.5,-20.2,13.4,-2.9,10.6,20.4,1.7,28.5]


loc=[0.12,0.65,0.6]
plt.axes(loc)

plt.bar(x,y1,0.4,label=u'退')
plt.bar(x,y2,label=u'進')
plt.plot(x,y3,markersize='6',c='black')

y=np.array([-50,50])
plt.xticks(x,fontsize=8)
plt.yticks(y)
plt.grid(c='gray',alpha=0.25)

plt.figtext(0.02,0.45,s='變化(km2)',fontsize=14,horizontalalignment='center')


#frameon=False 去掉圖例邊框
plt.legend(loc='center',bbox_to_anchor=(1.2,0.5),ncol=1,frameon=False)

plt.show()

結果:

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。