1.雷达图
程序示例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
|
'''1.空白极坐标图''' import matplotlib.pyplot as plt plt.polar() plt.show() '''2.绘制一个极坐标点''' 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() '''3.绘制多个极坐标点''' 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() '''4.链接极坐标点''' 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() '''5.闭合链接极坐标点''' 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() '''6.填充颜色''' 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() '''7.绘制成绩雷达图''' import numpy as np import matplotlib.pyplot as plt courses = [ 'C++' , 'Python' , 'Java' , 'C' , 'C#' , 'Go' , 'Matlab' ] scores = [ 82 , 100 , 90 , 78 , 40 , 66 , 88 ] datalength = len (scores) angles = np.linspace( 0 , 2 * np.pi, datalength, endpoint = False ) # 均分极坐标 scores.append(scores[ 0 ]) # 在末尾添加第一个值,保证曲线闭合 angles = np.append(angles, angles[ 0 ]) plt.polar(angles, scores, 'rv-' , lw = 2 ) plt.thetagrids(angles * 180 / np.pi, courses, fontproperties = 'simhei' ) plt.fill(angles, scores, facecolor = 'r' , alpha = 0.4 ) |
2.三维图
程序示例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
'''1.绘制三维曲线,并设置图例字号''' import matplotlib.pyplot as plt import numpy as np import matplotlib as mpl import matplotlib.font_manager as fm from mpl_toolkits.mplot3d import Axes3D # 不可缺少 fig = plt.figure() ax = fig.gca(projection = '3d' ) # 设置图像属性 # 测试数据 theta = np.linspace( - 4 * np.pi, 4 * np.pi, 100 ) z = np.linspace( - 4 , 4 , 100 ) * 0.3 r = z * * 4 + 1 x = r * np.sin(theta) y = r * np.cos(theta) ax.plot(x,y,z, 'b^-' , label = '3D 测试曲线' ) # 设置图例的字体,字号 font = fm.FontProperties( 'simhei' ) mpl.rcParams[ 'legend.fontsize' ] = 10 ax.legend(prop = font) plt.show() '''2.绘制三维柱状图,并每个柱子颜色随机''' import numpy as np import matplotlib.pyplot as plt import mpl_toolkits.mplot3d x = np.random.randint( 0 , 40 , 10 ) y = np.random.randint( 0 , 40 , 10 ) z = 80 * abs (np.sin(x + y)) ax = plt.subplot(projection = '3d' ) for xx, yy, zz in zip (x,y,z): color = np.random.random( 3 ) ax.bar3d(xx, yy, 0 , dx = 1 , dy = 1 , dz = zz, color = color) ax.set_xlabel( 'X轴' , fontproperties = 'simhei' ) ax.set_ylabel( 'Y轴' , fontproperties = 'simhei' ) ax.set_zlabel( 'Z轴' , fontproperties = 'simhei' ) plt.show() |
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/u014421797/article/details/103842928