已有的解決方案
存在的問題
def
method
(point):
es_time = np.zeros([point])
fig=plt.figure()
ax=fig.add_subplot(1,1,1)
ax.axis("equal") #設定影象顯示的時候xy軸比例
ax.set_xlabel('horizontal position')
ax.set_ylabel('vertical position')
ax.set_title('vessel trajectory')
plt.grid(true) #新增網格
plt.ion() #interactive mode on
iniobsx=0000
iniobsy=4000
iniobsangle=135
iniobsspeed=10*math.sqrt(2) #公尺/秒
print('開始**')
for t in range(point):
t0 = time.time()
#障礙物船隻軌跡
obsx=iniobsx+iniobsspeed*math.sin(iniobsangle/180*math.pi)*t
obsy=iniobsy+iniobsspeed*math.cos(iniobsangle/180*math.pi)*t
ax.scatter(obsx,obsy,c='b',marker='.') #散點圖
#下面的圖,兩船的距離
plt.pause(0.001)
es_time[t] = 1000*(time.time() - t0)
return es_time
分析原因
改進方法
plt.cla()
ax.plot(obsx,obsy,'-g',marker='*') #散點圖
def
method_improve
(point):
definitial
(ax):
ax.axis("equal") #設定影象顯示的時候xy軸比例
ax.set_xlabel('horizontal position')
ax.set_ylabel('vertical position')
ax.set_title('vessel trajectory')
plt.grid(true) #新增網格
return ax
es_time = np.zeros([point])
fig=plt.figure()
ax=fig.add_subplot(1,1,1)
ax = initial(ax)
plt.ion() #interactive mode on
iniobsx=0000
iniobsy=4000
iniobsangle=135
iniobsspeed=10*math.sqrt(2) #公尺/秒
print('開始**')
obsx = [0,]
obsy = [4000,]
for t in range(point):
t0 = time.time()
#障礙物船隻軌跡
plt.cla()
ax = initial(ax)
ax.plot(obsx,obsy,'-g',marker='*') #散點圖
#下面的圖,兩船的距離
plt.pause(0.001)
es_time[t] = 1000*(time.time() - t0)
return es_time
改進方法的改進line.set_xdata(obsx)
line.set_ydata(obsy)
完整**:
def improvedmethod_improve(point):
es_time = np.zeros([point])
fig=plt.figure()
ax=fig.add_subplot(1,1,1)
ax.set_xlabel('horizontal position')
ax.set_ylabel('vertical position')
ax.set_title('vessel trajectory')
line = ax.plot([0,0],[4000,4000],'-g',marker='*')[0]
plt.grid(true) #新增網格
plt.ion() #interactive mode on
iniobsx=0000
iniobsy=4000
iniobsangle=135
iniobsspeed=10
*math.sqrt(2) #公尺/秒
print('開始**')
obsx = [0,]
obsy = [4000,]
for t in range(point):
t0 = time.time()
#障礙物船隻軌跡
*math.pi)*t)
*math.pi)*t)
line.set_xdata(obsx)
line.set_ydata(obsy)
ax.set_xlim([-200,10
*point+200])
ax.set_ylim([3800-10
*point,4200])
#下面的圖,兩船的距離
plt.pause(0.001)
es_time[t] = 1000
*(time.time() - t0)
return es_time
三種方法對比
Python Turtle繪製動態時鐘
coding utf 8 import turtle from datetime import 抬起畫筆,向前運動一段距離放下 def skip step turtle.penup turtle.forward step turtle.pendown def mkhand name,length 註...
Qt繪製動態曲線
ifndef qlinewidget h define qlinewidget h include include include include include include include include include include include include include incl...
MFC中繪製動態曲線
在工控監測領域,經常需要動態繪製曲線,觀察曲線的變化趨勢,繪製波形圖,繪製頻譜等。在前面4講中介紹了mfc經常用的teechart控制項和hight speed chart ctrl,這兩個都是mfc繪圖控制項的經典 另外,在qt中還有qwtplot和qcustomplot兩大神器 許多人問如何繪製...