我正在使用matlibplot绘制散点图的三维图形,如下面的代码所示。
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import numpy as np
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
plt.ion()
plt.show()
ax.set_xlim([0.,13.])
ax.set_ylim([-1.5,1.5])
ax.set_zlim([-1.5,1.5])
def plotPoint(x,y,z):
ax.scatter(x, y, z)
上面的代码plotPoint(x,y,z)
在非常while True
之后的Serial.readLine()
循环中调用list_data = []
xdata = []
ydata = []
zdata = []
def update_graph(i):
global xdata
global ydata
global zdata
global list_data
print i, list_data
for x in list_data:
xdata.append(x[0][0])
ydata.append(x[1][0])
zdata.append(x[2][0])
graph.set_data (xdata, ydata)
graph.set_3d_properties(zdata)
title.set_text('3D Test')
return title, graph,
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
title = ax.set_title('3D Test')
graph, = ax.plot(xdata, ydata, zdata, linestyle="", marker="o")
ani = matplotlib.animation.FuncAnimation(fig, update_graph,
interval=100, blit=True)
plt.show()
在这个情节中,我能够每20毫秒在控制台中记录数据。但是在开始绘制图表后,它变得非常慢。
如何快速做到这一点?是否有任何其他python库可以帮助我在图中可视化3d点。我在我的项目中也使用OpenCV。我的情况是否有解决我的opencv问题。
unutbu建议的编辑代码:
127.0.0.1