Matplotlib'de İnteraktif Grafikler: Plotly ile Entegrasyon

Matplotlib statik grafikler için güçlü ama bazen etkileşimlilik eksik kalır. Plotly entegrasyonu bu sorunu çözer ve zoomlanabilir, tıklanabilir, hover bilgisi gösteren grafikler yaratır.

Önce gerekli kütüphaneleri kur:

1pip install matplotlib plotly pandas

Matplotlib grafiğini doğrudan Plotly'ye dönüştürmenin en pratik yolu `plotly.tools.mpl_to_plotly()` kullanmaktır. Ancak daha modern ve kontrollü yaklaşım, Plotly Express veya Graph Objects ile sıfırdan oluşturmaktır.

Burada basit bir veri seti ile örnek gösterelim:

Reklam · TEST
AdSense Test ReklamıYazı arası (gönderi içi) · Yazı arası
1import plotly.graph_objects as go
2import pandas as pd
3import numpy as np
4
5# Örnek veri
6aylar = ['Ocak', 'Şubat', 'Mart', 'Nisan', 'Mayıs']
7satislar = [150, 230, 180, 290, 250]
8
9# Plotly ile etkileşimli grafik
10fig = go.Figure()
11fig.add_trace(go.Bar(
12x=aylar,
13y=satislar,
14name='Aylık Satış',
15marker=dict(color='', opacity=0.8),
16hovertemplate='<b>%{x}</b><br>Satış: %{y} ₺<extra></extra>'
17))
18
19fig.update_layout(
20title='2024 Aylık Satış Verileri',
21xaxis_title='Aylar',
22yaxis_title='Satış (₺)',
23hovermode='x unified',
24template='plotly_white',
25height=500
26)
27
28fig.show()

Beklenen çıktı: Fare üzerine geldiğinde ay ve satış değerini gösteren, zoom ve pan yapılabilen etkileşimli bir bar grafik.

Eğer Matplotlib ile çizilmiş bir grafiği Plotly'ye çevirmek istersen:

1import matplotlib.pyplot as plt
2import plotly.tools as tls
3
4# Matplotlib grafiği
5fig_mpl, ax = plt.subplots(figsize=(8, 5))
6ax.plot(aylar, satislar, marker='o', linewidth=2, color='green')
7ax.set_title('Satış Trendi')
8ax.set_xlabel('Aylar')
9ax.set_ylabel('Satış (₺)')
10
11# Plotly'ye dönüştür
12fig_plotly = tls.mpl_to_plotly(fig_mpl)
13fig_plotly.show()

Bu yöntem basit ama sınırlıdır. Matplotlib'in tüm özelliklerini Plotly'ye aktaramaz.

Pratik ipucu: Plotly Express daha hızlı ve temiz. Karmaşık tasarımlar için Graph Objects kullan. Eğer Matplotlib stilini seviyorsan `plotly_dark` veya `plotly` template'lerini dene. Ayrıca `fig.write_html('grafik.html')` ile grafiği HTML dosyası olarak kaydedebilir, web sayfasına gömebilirsin. Hover bilgisini özelleştirmek için `hovertemplate` parametresi hayat kurtarıcı; `%{x}`, `%{y}` gibi yer tutucuları kullan.

Reklam · TEST
AdSense Test ReklamıGönderi altı · Görüntülü
konu hakkında tepkinizi verebilirsiniz