İçeriğe geç
ShiftDelete.Net
Haber ara/ SDN'ye SorGiriş
Haber Akışı SDNTV İnceleme Forum Yapay Zeka Akıllı Telefon Elektrikli Otomobil Oyun ShiftDelete.Net Global Teknoloji Haberleri Mobil Otomobil Donanım Savunma Bilim Sosyal Medya İnternet Giyilebilir Teknoloji Rehber Ürünler Son dakika Yazarlar
  1. Ana sayfa
  2. Topluluk
  3. Programlama
  4. Script Programlama (Python, Ruby, Perl, Bash/Shell
Script Programlama (Python, Ruby, Perl, Bash/Shell

Python ve Dash ile Veri Görüntüleme Uygulaması Geliştirme

eymenbex21.09.20181 cevap3.294 görüntüleme
2018'den beri51 mesaj
#1
Öncelikle bugüne kadar grafiksel uygulamalarımızda Matplotlib kütüphanesinden faydalanmıştık.Bugün ise GUI işlemlerimize farklı bir boyut kazandıran, plotly(https://plot.ly/)ürünü olan dash componentinden faydalanıyor olacağız.

Dash, React ve Flask componentlerini içeren web tabanlı veri görüntüleme modülüdür.

Örnek Uygulama :

Geliştirme ortamı : Pardus 5.0 Kurumsal KDE Pc

Editör : Visual Studio Code

Uygulamamıza başlamadan önce dash, dash-renderer, dash-html-components, dash-core-components, and plotly paketlerini kurmamız gerekecektir. Terminalimizi açıp aşağıdaki komutu giriyoruz.

sudo pip install dash dash-renderer dash-html-components dash-core-components plotly

windows ortamında :

pip install dash dash-renderer dash-html-components dash-core-components plotly

Şimdi basit bir uygulamayla Dash’i statik ve dinamik veriler ile inceleyelim. Visual Studio Code editörümüzde yeni bir dosya oluşturup adını dashornek.py verelim

Şimdi örnek uygulamamızda dash kütüphanesi , dash componentlerini ve html componentlerini (div vb. ) import edelim.

import dash
import dash_core_components as dcc
import dash_html_components as html

uygulamamıza başlayalım.

p = dash.Dash()

layout oluşturalım.

app.layout = html.Div('Dash örnek Uygulama')

ve çalıştıralım

if __name__ =='__main__':
app.run_server (debug= True)

terminalimize gelip uygulamamızı çalıştıralım

> python dashornek.py

konsol çıktısı aşağıdaki gibi olacaktır.

* Running on http://127.0.0.1:8050/ (Press CTRL+C to quit)
* Restarting with stat
* Debugger is active!
* Debugger PIN: 297-593-635

web tarayıcımızdan 127.0.0.1:8050 adresine gittiğimizde uygulamamızın çalıştığını göreceğiz.







şimdi statik veriler ile bir grafik çıktısı(çizgi-bar grafik) oluşturalım

import dash
import dash_core_components as dcc
import dash_html_components as html

app = dash.Dash()

app.layout = html.Div(children=[
html.H1(children='Dash Tutorials'),
dcc.Graph( id='ornek',
figure={
'data': [
{'x': [1, 2, 3, 4, 5], 'y': [9, 6, 2, 1, 5], 'type': 'line', 'name': 'cizgi'},
{'x': [1, 2, 3, 4, 5], 'y': [8, 7, 2, 7, 3], 'type': 'bar', 'name': 'bar'},
],
'layout': {
'title': 'basit dash ornek '
}
})
])

if __name__ == '__main__':
app.run_server(debug=True)




Dışarıdan verilerle çalışma:

Bu uygulamamızda kendi girdiğimiz veriler ile değil, bir bitcoin borsasının apisinde alacağımız btc değerlerinin son 7 günlük ya da 30 günlük ortalama dolar bazında değerlerini alıp, grafiksel çıktı üreteceğiz.

İlk önce btc verilerini çekeceğimiz uygulamamızı yazalım



import json
import urllib2

class btcVeriAl():

def __init__(self):
print 'veriler aliniyor'

def DegerDondur(self):
req = urllib2.Request('https://blockchain.info/charts/market-price?timespan=30days&format=json')
opener = urllib2.build_opener()
f = opener.open(req)
jsonCikti = json.loads(f.read())
degerler = []
btc_value = []
for item in jsonCikti['values']:
degerler.append(item)

for a in degerler:
btc_value.append(a['y'])

return btc_value
def xEkseniOlustur(self):
xDegerler = []
for a in range (1,31):
xDegerler.append(a)
return xDegerler



uygulamamızı bitcoin.py olarak kaydedelim ve dash uygulamamız içerisinden import edelim

Şimdi geldi sıra dashboard işlemlerini yapacağımız uygulamamızı yazmaya

# -*- coding:utf- 8 -*-

import dash
import dash_core_components as dcc
import dash_html_components as html
import bitcoin as btc

btc = btc.btcVeriAl()
app = dash.Dash()
app.layout = html.Div(children=[
html.H1(children='Dash uygulama'),
dcc.Graph(
id='dashornek',
figure={
'data': [
{'x':btc.xEkseniOlustur() , 'y': btc.DegerDondur(), 'type': 'line', 'name': 'Bitcoin'},

],
'layout': {
'title': 'dash örnek uygulama btc/USD endeks'
}
}
)
])

if __name__ =='__main__':
app.run_server (debug= True)



Bitcoin uygulamamızı, import edebilmemiz için package dizinimiz olan /usr/local/lib/ python2.7/dist-packages dizini altına kopyalıyoruz.

Uygulamamızda verileri aldığımız web sitesinden 30 günlük verileri çektik. 30 gün verisini x ekseni, gün gün btc ortalama değerlerini ise y ekseninde tutuyoruz . x ekseni 1'den 30'a kadar değer aldı . Y ekseni değerlerini ise bitcoin uygulamamızın veridondur() metodu ile alıyoruz. Bu method geriye ortalama btc değerlerini içeren bir liste döndürüyor.

Konsoldan uygulamamızı çalıştıralım





Hepsi bu kadar. Uygulama kaynak kodları şuracıkta farcompen/Python-Dash

Beğendiyseniz yıldızlamayı unutmayın

Sağlıcakla

- - - - - - - - - -







kaynak kodevreni
Cevaplar
eymenbex Konuyu açan
2018'den beri51 mesaj
#2
s99

Cevabını yaz

Cevap yazmak için giriş yap ya da üye ol. Eski forum kullanıcı adın ve parolanla girebilirsin.