Plotly Dersleri-1

Hakkı Kaan Simsek
Deep Learning Türkiye
3 min readSep 21, 2018

Python ana akım görselleştirme kütüphanelerini 2 sınıfa ayırabiliriz.

Statik: Matplotlib, Seaborn

Dinamik: Bokeh, Plotly

Plotly interaktif görseller oluşturmamıza yarayan açık kaynak kodlu d3.js üzerine inşa edilmiş bir kütüphanedir ve Matlab, R ve Python API’leri bulunmaktadır. Bu da demek oluyor ki Python kullanıcıları pandas dataframe içinde istedikleri veri manipülasyonlarını gerçekleştirip kolaylıkla interaktif görseller oluşturabilirler.

güncel kaynak: http://www.timqian.com/star-history/#bokeh/bokeh&plotly/dash

Plotly konusunda ikna olduysak başlayabiliriz :)

Çalışmada Amerika’nın en büyük 500 şirketinin hisse senetlerinin günlük açılış, kapanış, gün içinde en düşük, en yüksek değerleri ve işlem hacimlerini barındıran S&P 500 verisiyle uğraşacağız.

Amacımız finansal analizden çok Plotly kütüphanesini tanıtmak olduğu için Google ve Amazon hisse senetlerini alıp çok uzatmadan yolumuza devam ediyoruz.

Plotly kütüphanesinin arkasındaki mantık bütün görseller için benzer!

Google hisse senetleri üzerinden adım adım gidelim.

  • kütüphanelerimizi çağıralım
  • go.Scatter fonksiyonunun içine x, y değişkenlerini koyalım >> trace
  • py.iplot(trace)

Şimdi de Amazon hisselerini aynı grafiğe ekleyelim, mantık yine aynı sadece array’i genişletiyoruz:

  • trace0 ve trace1'i tek bir array içine koyalım >> data
  • py.iplot(data)

Farklı verileri aynı grafikte nasıl göstereceğimizi öğrendik şimdi de başlık atalım. Veriyle ilgili olmayan her şeyi layout kısmına koyuyoruz.

  • trace0 ve trace1'i tek bir array içine koyalım >> data
  • görsele başlık ekleyelim. >> layout
  • data ve layout birleştirelim. >> fig
  • py.iplot(fig)

Grafiğimizi biraz daha özelleştirelim.

  • renkler için trace0 ve trace1'e
  • x eksenindeki tarih aralığı için de layout’a

eklemeler yapıp kodumuzu tekrar çalıştıralım.

Buraya kadar bütün veri seti üzerinde Google ve Amazon hisselerini görselleştirdik. Şimdi bu karşılaştırmayı 1 aylık, 3 aylık, 6 aylık ve 12 aylık olarak incelemeye olanak sağlayan butonları oluşturalım.

Grafiğimize biraz daha müdahele edelim ve Amazon hisselerinin Google hisselerini geçtiği tarihe kırmızı bir çizgi çekelim. Layout kısmı biraz karışık gelebilir bu normal, değerlerle biraz oynayıp hata almanızı tavsiye ederim.

Madem hisse senetleriyle uğraşıyoruz bu sefer de finansal analizlerde sık kullanılan mum grafiği çizelim. Fonksiyonumuz bu sefer go.Candlestick() ama adımlarımız yine çok benzer.

Zaman serisi gösterimlerine biraz ara verip seaborn ve matplotlib kütüphanelerinden alışkın olduğumuz boxplot fonksiyonunu interaktif olarak kullanalım.

Seçilen değişkenlerin boxplot gösterimlerini ve aralarındaki ilişkiler için scatterplot gösterimlerini tek bir grafikte yapalım.

BONUS

Scatterpolar fonksiyonuyla polar koordinat düzleminde 2 hisse senedini kıyaslayalım.

Çalışmadaki veri setine ve kodlara şuradan ulaşabilirsiniz.

Ayrıca sorularınız olursa yorum olarak veya Linkedin-Twitter hesaplarından yazabilirsiniz.

--

--