如何利用python画出AHP-SWOT的战略四边形(四象限图)

在企业或产业发展的相关论文分析中,常用到AHP-SWOT法进行定量分析,形成判断矩阵后,如何构造整洁的战略四边形是分析的最后一个环节,本文现将相关代码发布如下:

import mpl_toolkits.axisartist as axisartist
import matplotlib.pyplot as plt

#创建画布
fig = plt.figure(figsize=(8, 8))
#使用axisartist.Subplot方法创建一个绘图区对象ax
ax = axisartist.Subplot(fig, 111)  
#将绘图区对象添加到画布中
fig.add_axes(ax)

#通过set_visible方法设置绘图区所有坐标轴隐藏
ax.axis[:].set_visible(False)

#ax.new_floating_axis代表添加新的坐标轴
ax.axis["x"] = ax.new_floating_axis(0,0)
#给x坐标轴加上箭头
ax.axis["x"].set_axisline_style("->", size = 1.0)
#添加y坐标轴,且加上箭头
ax.axis["y"] = ax.new_floating_axis(1,0)
ax.axis["y"].set_axisline_style("-|>", size = 1.0)
#设置x、y轴上刻度显示方向
ax.axis["x"].set_axis_direction("top")
ax.axis["y"].set_axis_direction("right")
#隐藏刻度
ax.set_xticks([])
ax.set_yticks([])

plt.rcParams['font.sans-serif'] = ['Times New Roman'] # 指定默认字体
plt.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题

#依次输入位于S\O\W\T轴上的点坐标,注意,为了形成闭环,需要再次添加S轴点作为第五个点!
x=[0.171,0,-0.04,0,0.171]
y=[0,0.089,0,-0.361,0]

#以下为坐标显示,大家可以根据点的位置进行修改,贴近但又不遮拦点位即可
x1=[0.171,0.01,  -0.08,0.01,      0.171]
y1=[0.01  ,0.089,0.01,     -0.361,0.01]

#x轴与y轴的显示长度,务必要覆盖所有的输入点,为美观可适当调整上下左右的长短
plt.xlim(-0.2, 0.2)  # x轴范围从-0.2到0.2
plt.ylim(-0.4, 0.2) # y轴范围从-0.4到0.2
plt.plot(x,y)

# 为每个点添加坐标标注
for i in range(len(x)):
    if i<4:
        plt.annotate(f'({x[i]}, {y[i]})', xy=(x1[i], y1[i]))

#显示坐标轴的名称与方位
plt.annotate(f'S', xy=(0.2, -0.03))
plt.annotate(f'O', xy=(0.01, 0.2))
plt.annotate(f'W', xy=(-0.15, 0.01))
plt.annotate(f'T', xy=(-0.01, -0.4))
plt.annotate(f'A', xy=(0.01, -0.03))

plt.show()

样品图如下:

下面将分析代码的功能

1.坐标输入

#依次输入位于S\O\W\T轴上的点坐标,注意,为了形成闭环,需要再次添加S轴点作为第五个点!
x=[0.171,0,-0.04,0,0.171]
y=[0,0.089,0,-0.361,0]

以上就是按照逆时针顺序输入坐标(0.171,0)(0,0.089)(-0.04,0)(0,-0.361),由于语句

plt.plot(x,y)

是逐个连点,如不补充第五个点,第四个点与第一个点就未连贯,因此特意将第一个点作为第五个点再次输入。

2.坐标的标注(微调即可)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值