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

Sadrazam99 c99

Uzman üye
8 Ocak 2017
1,159
0
null
Ö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

- - - - - - - - - -
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.