【效果图】
【源代码】
1 import matplotlib.pyplot as plt 2 import matplotlib.tri as tri 3 import numpy as np 4 import math 5 6 7 n_angles = 12 8 n_radii = 5 9 min_radius = 0.0 10 radii = np.linspace(min_radius, 5.0, n_radii) 11 12 angles = np.linspace(0, 2*math.pi, n_angles, endpoint=False) 13 14 temp = [] 15 for i in range(12): 16 temp.append(angles[i]) 17 temp.append(angles[0]) 18 angles = np.array(temp) 19 20 angles = np.repeat(angles[..., np.newaxis], n_radii, axis=1) 21 #angles[:, 1::2] += math.pi/n_angles 22 23 x = (radii*np.cos(angles))#.flatten() 24 y = (radii*np.sin(angles))#.flatten() 25 26 x1 = x.flatten() 27 y1 = y.flatten() 28 29 30 plt.figure() 31 32 # 点 33 plt.scatter(x, y) 34 # 环线 35 plt.plot(x, y, 'b') 36 # 直线 37 plt.plot(x1,y1) 38 # 三角线 39 for i in range(4): 40 print(i,i+4,i+8) 41 print(x.shape,y.shape) 42 tempx = [] 43 tempx.append(x[i][4]) 44 tempx.append(x[i+4][4]) 45 tempx.append(x[i+8][4]) 46 tempx.append(x[i][4]) 47 tempy = [] 48 tempy.append(y[i][4]) 49 tempy.append(y[i+4][4]) 50 tempy.append(y[i+8][4]) 51 tempy.append(y[i][4]) 52 x2 = np.array(tempx) 53 y2 = np.array(tempy) 54 print(x2.shape,y2.shape) 55 plt.plot(x2,y2,'--',lw=0.5) 56 57 plt.title('八卦图',fontproperties="SimHei") 58 59 plt.show()