2016-04-25 47 views
0

我有一個不斷更新單個值的文本文件。我試圖用matplotlib的動畫顯示這個值,但是我有很多問題。例如,我想顯示一個值在文本文件上每秒變化的值(取值範圍從0到150),我希望條形圖的高度隨着該值增加和減少。無法在Matplotlib中顯示條形圖的動畫

我想用水平圖做同樣的事情。我也想顯示一個點在圓周上移動以獲得不同的值(0到360之間)。

我試過很多東西,但它經常破壞代碼或matplotlib凍結。我一直在嘗試使用matplotlib的動畫。

任何幫助,將不勝感激。 當我運行代碼,我沒有看到條形圖

import matplotlib.pyplot as plt 
import mpl_toolkits.mplot3d.axes3d as p3 
import matplotlib.animation as animation 
import random 

mf = r"data.txt" 

fig = plt.figure() 
ax = p3.Axes3D(fig) 
xpos = 0 
ypos = 0 
zpos = 0 
dx = 1 
dy = 1 





def update_bars(): 
    mmf = open(mf) 
    lines = mmf.readlines() 
    depth_1 = lines[3] 
    dz = depth_1 


    bars = ax.bar3d(xpos, ypos, zpos, dx, dy, dz, color= 'b') 
    return bars 

## add bars 


ax.set_title('Depth') 

line_ani = animation.FuncAnimation(fig, update_bars, 500, interval=100) 
plt.show() 
+1

您列出太多這個問題存在問題。如果您看不到條形圖,則難以對其進行設置!請(1)提供一個包含數據的最小示例,並且(2)一次詢問單個重點問題。 –

+0

Reblochon的好處。複雜性經常會殺死你,更好地分離問題。爲什麼不把文件讀出來,只是讓'update'函數產生一個隨機值。 – roadrunner66

+0

@ReblochonMasque爲了簡單的問題,我剪掉了很多代碼。這應該是每秒更新一次條形圖。深度是0到50之間的整數。數據是5行(每行保存一個整數),每秒更新一次。第3行是深度,顯示爲depth_1。我需要的只是每秒鐘更新圖表。 – 222

回答

0

剛把depth_1改變=行[3]這depth_1 = INT(線[3])