0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

RPi / python > plotly > 時系列グラフ > 1. 固定時刻 / 2. 3秒ごとにプロット / 3. リストでまとめてプロット

Last updated at Posted at 2016-01-03

http://qiita.com/7of9/items/345c854e8e8b2edaa83e
の続き。

今度は時系列グラフにする。

try1 > 固定時刻

plotlyTimeGraph.py
import plotly.plotly as py
py.plot({
	"data":[{
		"x":["2016-01-03 12:30:45","2016-01-03 12:30:55","2016-01-03 12:31:05"],
		"y":[4,2,5]
	}],
	"layout":{
		"title":"graph as a function of time"
	}
},filename='timegraph160103'
,fileopt='extend'
,privacy='public')

"x"の指定に年月日、時分秒の文字列を入れるようにする。

結果 https://plot.ly/272/~7of9/

try2 > 現在時刻 3秒ごとにプロット 

以下の実装により3秒ごとにプロットできるようになった。

160103-randomPlot.py
import plotly.plotly as py
import time
import datetime

while True:
	today = datetime.datetime.today()
	xdt = today.strftime("%Y-%m-%d %H:%M:%S")
	yval = 3.1415
	
	py.plot({
		"data":[{
			"x":[xdt],
			"y":[yval]
		}],
		"layout":{
			"title":"graph as a function of time"
		}
	},filename='timegraph160103'
	,fileopt='extend'
	,privacy='public')

	print "added at " + xdt
	time.sleep(3)

毎回アクセスするのも良くないので、リストに保持してまとめてプロットするように変更するのがいい。

try3 > リストでまとめてプロット

参考
http://qiita.com/7of9/items/586f62fa46dc3409d954
のコメント。

リストで5個単位でプロットできるようになった。
これでplotlyへのアクセスが軽減できる。

160103-listPlot.py
import plotly.plotly as py
import time
import datetime

xlist = [0] * 0
ylist = [0] * 0

while True:
	today = datetime.datetime.today()
	xdt = today.strftime("%Y-%m-%d %H:%M:%S")
	yval = 3.1415
	xlist.append(xdt)
	ylist.append(yval)
	
	if (len(xlist) < 5):
		time.sleep(3)
		continue

	py.plot({
		"data":[{
			"x":xlist,
			"y":ylist
		}],
		"layout":{
			"title":"graph as a function of time"
		}
	},filename='timegraph160103b'
	,fileopt='extend'
	,privacy='public')

	print "added at " + str(xlist[1:])

	del xlist[1:]
	del ylist[1:]

	time.sleep(3)

pythonのリストがまだよくわかっていない。

0個としての初期化はxlist = [0] * 0でいいのだろうか?

次は関数化。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?