Ana içeriğe atla

Bokeh ile Veri Görselleştirme Eğitimi: Veri Yapılarını Görselleştirme

Bokeh kullanarak çeşitli veri yapılarının temel görselleştirmelerini öğrenin.
Güncel 3 Eki 2026  · 6 dk. oku

Yapay Zeka ile Keşfedin

ChatGPTClaudePerplexity

İlk Bokeh ile Veri Görselleştirme eğitimimizde, glifleri kullanarak sıfırdan görselleştirmeler oluşturmayı öğrendiniz. Şimdi bu kavramı genişletip diziler ve veri çerçeveleri gibi farklı veri yapılarından grafikler oluşturabilirsiniz. Bu eğitimde, Bokeh kullanarak NumPy dizileriyle, Pandas veri çerçeveleriyle ve ColumnDataSource ile veri nasıl çizilir öğreneceksiniz. ColumnDataSource, Bokeh’in özüdür; verileri birden fazla grafik ve bileşen arasında paylaşmayı mümkün kılar.

NumPy Dizilerinden Bokeh Grafikleri

NumPy dizilerinden çizgi grafikleri oluşturma

# Import packages
import numpy as np
import random
from bokeh.io import output_file, show
from bokeh.plotting import figure

# Create an array
x_array = np.array([10,20,30,40,50,60])
y_array = np.array([50,60,70,80,90,100])

# Create a line plot
plot = figure()
plot.line(x_array, y_array)

# Output plot
show(plot)

NumPy dizilerinden saçılım grafikleri oluşturma

# Import packages
import numpy as np
import random
from bokeh.io import output_file, show
from bokeh.plotting import figure

# Create arrays
x_arr = np.array([10,11,12,13,14,15,16])
y_arr = np.array([17,18,19,20,21,22,23])

# Create plot
plot = figure(title = "Scatter plot", x_axis_label = "Label name of x axis", y_axis_label ="Label name of y axis")
plot.circle(x_arr,y_arr, size = 30, alpha = 0.5)

# show plot
show(plot)

Bu, aşağıdaki grafiği üretir:

Pandas Veri Çerçevelerini Kullanarak Grafik Oluşturma

Pandas veri çerçeveleriyle çizgi grafikleri çizme

Bu örnekteki veriler Kaggle’dan alınmıştır. Veri kümesi, Aralık 2018’e kadar geçen beş yıl için S&P 500 endeksinde yer alan tüm hisseleri içerir. Dosyada yedi sütun bulunur:

  • Date - haftanın günüyle birlikte yy-aa-gg biçiminde tarih
  • Open - hissenin açılış fiyatı
  • High - gün içindeki en yüksek fiyat
  • Low - gün içindeki en düşük fiyat
  • Close - gün sonu kapanış fiyatı
  • Volume - gün içinde işlem gören hisse adedi
  • Name - hisse sembolü

Beş yıllık dönemde Google hissesinin eğilimini görmek istiyoruz. Önce verileri Pandas ile yüklüyor, ardından Pandas veri çerçevesinin ilk beş satırına bakıyoruz.

# Import packages
import pandas as pd
# Load data
df = pd.read_csv('all_stocks_5yr.csv')
df.head()
# Focus on Google's stock
df_goog = df[df['Name'] == 'GOOG']
# Convert date column to a time series
df_goog['date'] = pd.to_datetime(df_goog['date'])

plot = figure(title= "Pandas Line Plot", x_axis_type = 'datetime', x_axis_label = 'date', y_axis_label= 'Prices')
plot.line(x = df_goog['date'], y = df_goog['high'])

# Output plot
show(plot)

Grafikte, x ekseni boyunca tarihlerin işlenebilmesi için date sütununu datetime’a dönüştürmek gerekti. Ayrıca, Bokeh’teki line işlevi (glif) kullanılarak Google’ın en yüksek fiyatları için bir zaman serisi grafiği üretildi.

Pandas veri çerçevesinden saçılım grafiği oluşturma

Bu bölümde, Kaggle’da bulunan açık kaynaklı S&P 500 hisse verilerini kullanıyoruz. Bu örnekte, Google ve Apple hisse fiyatları arasındaki korelasyonu görmek istiyoruz. Korelasyon hakkında daha fazla bilgiyi burada bulabilirsiniz.

# Import required packages
# Import packages
import pandas as pd
from bokeh.io import output_file, show
from bokeh.plotting import figure

# Load data
df = pd.read_csv('all_stocks_5yr.csv')

# Select Google and Apple stock
df_goog = df[df['Name'] == 'GOOG']
df_apple = df[df['Name'] == 'AAPL']

# Select only 'date' and 'high' columns for Google and Apple
df_goog = df_goog[['date','high']]
df_apple = df_apple[['date','high']]
# Rename 'high' column to 'high_goog' and 'high_apple'
df_goog.rename(columns={'high': 'high_goog'}, inplace=True)
df_apple.rename(columns={'high': 'high_apple'}, inplace=True)

df_merged = pd.merge(df_goog, df_apple, how='inner', on='date')
# See the first five rows
df_merged.head(5)

Birleştirme, günlük fiyatların tarihe göre birbirine karşılık gelmesini sağlar. Bu, farklı tarihlerden fiyatları ilişkilendirme sorununu azaltır; aksi takdirde hatalı istatistiksel sonuçlara yol açar.

# Create scatter plot
plot = figure(title= "Pandas Scatter Plot", x_axis_label = "Apple high prices", y_axis_label= "Google high prices")
plot.circle(x = df_merged['high_apple'], y = df_merged['high_goog'],color = 'red', size = 10, alpha = 0.8)

# Output the plot
show(plot)

Daireler, Apple ve Google’ın en yüksek fiyatları arasındaki bağlantıyı temsil eder. Google ve Apple hisse fiyatları arasında genel olarak pozitif bir korelasyon vardır.

ColumnDataSource ile Bokeh Grafikleri Oluşturma

ColumnDataSource’un amacı, aynı verileri kullanarak farklı grafikler oluşturmanıza olanak sağlamaktır. Kısaca, birden fazla grafik ve analizde çağırmak üzere bir veri temeli kurmanıza imkân tanır. Bu sayede Jupyter Notebook’ta verileri tekrar tekrar yüklemek zorunda kalmayacağınız için zaman kazanırsınız.

ColumnDataSource, bir Python sözlüğüne benzer; bir sütundaki verinin değeri, o sütuna ait anahtar dize adıyla eşleştirilir.

ColumnDataSource kullanarak çizgi grafikleri oluşturma

# Import packages
from bokeh.io import output_file, show
from bokeh.plotting import figure, ColumnDataSource

# Create the ColumnDataSource object
df_goog['date'] = pd.to_datetime(df_goog['date'])
data = ColumnDataSource(df_goog)

# Create time series plot
plot = figure(x_axis_type='datetime',
              title='GOOG high prices ts plot',
             x_axis_label = "Date",
              y_axis_label = "Prices in $")
plot.line(x='date', y = 'high_goog', source = data, color = 'green')
show(plot)

Grafik, Google’ın en yüksek fiyatlarının 5 yıllık dönemde nasıl değiştiğini ve her fiyat noktasını gösteren çizgiyi sunar.

Bu grafiği oluşturmak için, tüm Google hisse veri çerçevesini ColumnDataSource işlevine aktardık ve data adlı bir değişken olarak kaydettik.

Ardından, source bağımsız değişkenini kullanarak bu veriyi plot işlevine ilettik. Bu sayede, grafiği oluştururken veri çerçevesini tekrar tekrar çağırmak yerine sütun adlarını doğrudan kullanmak mümkün olur.

Son olarak, veri noktalarını temsil eden yeşil çizgiyi üretmek için line işlevini kullandık.

ColumnDataSource kullanarak saçılım grafikleri oluşturma

Bu kodda, (çizgi grafik örneğinde olduğu gibi) tüm Google hisse veri çerçevesini ColumnDataSource’a aktardık. Veri çerçevesi, data adlı bir değişken olarak ColumnDataSource içinde saklanır. Önce sütun adlarını doğrudan çağırarak çizgi grafiği oluşturuyoruz. Son olarak, tekil veri noktalarını göstermek için kırmızı elmasları üretmek üzere diamond işlevini kullandık.

# Import packages
from bokeh.io import output_file, show
from bokeh.plotting import figure, ColumnDataSource

# Create the ColumnDataSource object
df_goog['date'] = pd.to_datetime(df_goog['date'])
data = ColumnDataSource(df_goog)

# Create time series plot
plot = figure(x_axis_type='datetime',
              title='GOOG high prices ts plot',
             x_axis_label = "Date",
              y_axis_label = "Prices in $")
plot.line(x='date', y = 'high_goog', source = data, color = 'green')
plot.diamond(x='date', y = 'high_goog', source = data, color = 'red')
show(plot)

Grafik, Google hissesinin 5 yıllık dönemdeki seyrini gösterir; kırmızı elmaslar hissenin her bir fiyat noktasını belirtir.

Sonuç

Bu eğitim, Python’da karşılaşmanız muhtemel en yaygın veri yapılarını ve bunları verinizi hayata geçirmek için nasıl kullanabileceğinizi tanıttı. Bokeh, Python görselleştirmesi için tek seçeneğiniz olmasa da, kullanım kolaylığı ve etkileşimli özellikleriyle Matplotlib veya Seaborn’dan ayrışır. Bir sonraki eğitimimizde, etkili ve etkileşimli görselleştirmeler oluşturmak için yerleşimlerle pratik yapacaksınız. Bokeh’in sunduğu tüm veri görselleştirme olanaklarına derinlemesine dalmak isterseniz, DataCamp’in Bokeh ile Etkileşimli Veri Görselleştirme kursuna göz atın.

Konular
Veri Görselleştirme
Veri Mühendisliği
Veri Analizi
İlgili

blog

Hızlı Sevkiyat İçin Pratik Vibe Kodlama Teknoloji Yığını

Ön uç, arka uç, veritabanları, kimlik doğrulama, depolama, e-posta, test, dağıtım ve izleme için en iyi araçları keşfedin.
Abid Ali Awan's photo

Abid Ali Awan

14 dk.

blog

2026’da En Popüler 40 Yazılım Mühendisi Mülakat Sorusu

Algoritmalar, sistem tasarımı ve davranışsal senaryoları kapsayan bu temel sorularla teknik mülakat sürecine hakim olun. Uzman cevapları, kod örnekleri ve kanıtlanmış hazırlık stratejileri edinin.
Dario Radečić's photo

Dario Radečić

15 dk.

Eğitim

Python'da Listeyi String'e Nasıl Dönüştürürsünüz

Bu hızlı eğitimde, Python'da bir listeyi string'e nasıl dönüştüreceğinizi öğrenin.
Adel Nehme's photo

Adel Nehme

Eğitim

.gitignore Nasıl Kullanılır: Örneklerle Pratik Bir Giriş

Git deponuzu temiz tutmak için .gitignore’u nasıl kullanacağınızı öğrenin. Bu eğitim; temelleri, yaygın kullanım durumlarını ve başlamanıza yardımcı olacak pratik örnekleri kapsar!
Kurtis Pykes 's photo

Kurtis Pykes

8 dk.

Devamını GörDevamını Gör