在企业或产业发展的相关论文分析中,常用到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.坐标的标注(微调即可)