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