Python---陈氏绘制雷达图

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()
在这里插入图片描述
在这里插入图片描述

encoding: utf-8

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.15,0.65,0.6]

plt.axes(loc)

plt.bar(x,y1,0.4,label=u’退’)

plt.bar(x,y2,0.4,label=u’进’)

plt.plot(x,y3,marker=‘o’,markersize=‘6’,c=‘black’)

y=np.array([-50, 0 ,50])

plt.xticks(x,fontproperties=‘KaiTi’,fontsize=8)

plt.yticks(y)

plt.grid(c=‘gray’,linestyle=’–’,alpha=0.25)

plt.figtext(0.02,0.45,s=‘变化(km2)’,fontproperties=‘KaiTi’,fontsize=14,rotation=‘vertical’,verticalalignment=‘center’,horizontalalignment=‘center’)

#frameon=False 去掉图例边框

plt.legend(loc=‘center’, bbox_to_anchor=(1.2, 0.5),ncol=1,

frameon=False)

plt.show()
!在这里插入图片描述
在这里插入图片描述](https://img-blog.csdnimg.cn/20210214085312573.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzM4MTI3NDg3,size_16,color_FFFFFF,t_70#pic_center)
绘制极坐标
import numpy as np

import matplotlib.pyplot as plt

极坐标(0.25*pi,20)

plt.polar(0.25*np.pi, 20, ‘ro’, lw=2) # 'ro’红色圆点

plt.ylim(0,50)

plt.show()
在这里插入图片描述
绘制及坐标点
import numpy as np

import matplotlib.pyplot as plt

极坐标(0.25*pi,20)

plt.polar(0.25*np.pi, 20, ‘ro’, lw=2) # 'ro’红色圆点

plt.ylim(0,50)

plt.show()
在这里插入图片描述
绘制多个极坐标点
import numpy as np

import matplotlib.pyplot as plt

theta = np.array([0.25,0.5,0.75,1,1.25,1.5,1.75,2])

r = [75,60,50,70,50,85,45,70]

plt.polar(theta*np.pi, r, ‘ro’, lw=2) # 'ro’红色圆点

plt.ylim(0,100)

plt.show()
在这里插入图片描述
链接极坐标点
import numpy as np

import matplotlib.pyplot as plt

theta = np.array([0.25,0.5,0.75,1,1.25,1.5,1.75,2])

r = [75,60,50,70,50,85,45,70]

plt.polar(theta*np.pi, r, ‘ro-’, lw=2)

plt.ylim(0,100)

plt.show()
在这里插入图片描述
闭合极坐标点
import numpy as np

import matplotlib.pyplot as plt

只需在末尾添加一个和起始点重合的点

theta = np.array([0.25,0.5,0.75,1,1.25,1.5,1.75,2,0.25])

r = [75,60,50,70,50,85,45,70, 75]

plt.polar(theta*np.pi, r, ‘ro-’, lw=2)

plt.ylim(0,100)

plt.show()
在这里插入图片描述
为闭合坐标点着色
import numpy as np

import matplotlib.pyplot as plt

只需在末尾添加一个和起始点重合的点

theta = np.array([0.25,0.5,0.75,1,1.25,1.5,1.75,2,0.25])

r = [75,60,50,70,50,85,45,70, 75]

plt.polar(theta*np.pi, r, ‘ro-’, lw=2)

plt.fill(theta*np.pi, r, facecolor=‘r’, alpha=0.5) # 填充

plt.ylim(0,100)

plt.show()
在这里插入图片描述
CSDN搜索:python绘制雷达图代码实例-Matplotlib绘制雷达图和三维图的示例代码
CSDN搜索:python雷达图详解_python绘制雷达图实例讲解

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值