python(3)
lab2分析
txt1
import matplotlib.pyplot as plt
import numpy as np
xdata = 7 * np.random.random(100)
ydata = np.sin(xdata) + 0.25 * np.random.random(100)
zdata = np.exp(xdata) + 0.25 * np.random.random(100)
fig = plt.figure(figsize=(9, 6))
# Create 3D container
ax = plt.axes(projection = '3d')
# Visualize 3D scatter plot
ax.scatter3D(xdata, ydata, zdata)
# Give labels
ax.set_xlabel('x')
ax.set_ylabel('y')
ax.set_zlabel('z')
# Save figure
plt.savefig('3d_scatter.png', dpi = 300, bbox_inches='tight', pad_inches = 0)
plt.show()
1. numpy.random.random( )理解
第二个random不是函数而是引入的模块
-
fig = plt.figure()
ax = plt.axes()figure与axes的区别
.figure 相当于创建画布 .axes类似于subplot,创建轴域\子图
figure-axes-axis
参考https://blog.csdn.net/qq_31347869/article/details/104794515
Axes - Subplot - Axis 之间到底是个什么关系
详见https://www.zhihu.com/question/51745620
简单图含代码https://blog.csdn.net/frank_haha/article/details/114239874
txt2
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(100)
y = np.array(5)
z=x+y
xLastTen = x[90:]
xUpdate = np.arange(0, 1000, 10)
xDotProduct = x.dot(x)
xAsteriskProduct = x * x
xReshape = xUpdate.reshape((10, 10))
yNew = np.arange(1,11)
zNew = xReshape * yNew[:, np.newaxis]
print(zNew)
for i in range(10):
plt.plot(zNew[i])
plt.show()
for i in range(10):
ax = plt.subplot(5, 2, i + 1)
plt.plot(zNew[i])
plt.show()
plt.savefig('figure1.png')
zNew = xReshape * yNew[:, np.newaxis]
[:, np.newaxis]将行向量转化为列向量
2.矩阵dot&*
" * "是指对应元素相乘
在txt2中
zNew = xReshape * yNew[:, np.newaxis]
如果yy=yNew[:, np.newaxis]
3.
for i in range(10):
plt.plot(zNew[i])
plt.show()
遍历的是每个row
for i in range(10):
ax = plt.subplot(5, 2, i + 1)
plt.plot(zNew[i])
plt.show()
子图为5行2列