Veri setinizin görünecek kısmını( ekranda görünecek kısmını) bir stack yada buffer içinde tutabilirsiniz.
Yani belirli boyutta bir veri setini görüntüleyebilir ve bunu kaydırarak listenizi veri setinizi sabit tutarken eski veriyi görüntülenecek listeden eksiltirsiniz.
LIFO metodu ile hep son belirli uzunluktaki aldığınız veriyi çizersiniz.
Yani çok büyük bir veriyi tek seferde çizmek uzun sürecektir. Bunun yerine çerçeve çerçeve kaydırdığınızı ve verinin ekranda göründüğü kısmını çizdirdiğiniz hayal edin.
Deneyin, zorlanırsanız örnekleriz.
Kolay gelsin.
EDIT:
Plot Live Graphs using Python Dash and Plotly - GeeksforGeeks
[kodu buraya gir veya yapıştır](https://www.geeksforgeeks.org/plot-live-graphs-using-python-dash-and-plotly/)
plotly ve dash kütüphaneleri ile yapılmış bir örnek:
import dash
from dash.dependencies import Output, Input
import dash_core_components as dcc
import dash_html_components as html
import plotly
import random
import plotly.graph_objs as go
from collections import deque
X = deque(maxlen = 20)
X.append(1)
Y = deque(maxlen = 20)
Y.append(1)
app = dash.Dash(__name__)
app.layout = html.Div(
[
dcc.Graph(id = 'live-graph', animate = True),
dcc.Interval(
id = 'graph-update',
interval = 1000,
n_intervals = 0
),
]
)
@app.callback(
Output('live-graph', 'figure'),
[ Input('graph-update', 'n_intervals') ]
)
def update_graph_scatter(n):
X.append(X[-1]+1)
Y.append(Y[-1]+Y[-1] * random.uniform(-0.1,0.1))
data = plotly.graph_objs.Scatter(
x=list(X),
y=list(Y),
name='Scatter',
mode= 'lines+markers'
)
return {'data': [data],
'layout' : go.Layout(xaxis=dict(range=[min(X),max(X)]),yaxis = dict(range = [min(Y),max(Y)]),)}
if __name__ == '__main__':
app.run_server()
Kodu çalıştırdıktan sonra;
Web tarayıcınızdan http://localhost:8050/
adresine girerek grafiği canlı olarak görebilirsiniz.
Yine matplot üzerinden;
Python Realtime Plotting | Matplotlib Tutorial | Chapter 9-SaralGyaan
# python_live_plot.py
import random
from itertools import count
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation
plt.style.use('fivethirtyeight')
x_values = []
y_values = []
index = count()
def animate(i):
x_values.append(next(index))
y_values.append(random.randint(0, 5))
plt.cla()
plt.plot(x_values, y_values)
ani = FuncAnimation(plt.gcf(), animate, 1000)
plt.tight_layout()
plt.show()
Üzerinden grafikği çizdirebilirsiniz.
Hangi kütüphaneyi seçerseniz seçin, veriniz çok büyük ise, sadece çerçeve bir veri seti kullanıp bu seti güncelleyerek kaydırmanızda fayda var, büyük bir veriyi grafik olarak çizdirdiğinizde hem veri güncellemesi, hem de okuması zor olacaktır.
Söylediğim gibi birini seçin deneyin üzerinde yapamadığınız kısımlara bakabiliriz.
plotly web servisi gibi tarayıcıda görüntülendiğinden hoşuma gitmişti. matplot kütüphanesine karşı değilim.