Matplotlib Grafiklerini İnteraktif Yapma: Plotly Dönüştürme

Matplotlib statik grafikler üretir. Kullanıcı hover ettiğinde bilgi görmek, zoom yapmak veya filtrelemek istiyorsan Plotly'ye geçmen gerekir. İkisi arasında doğrudan dönüştürme yapabileceğin gibi, baştan Plotly ile yazabilirsin de.

En pratik yol `plotly.express` kullanmak. Matplotlib'e benzer söz dizimi ama interaktif çıktı verir.

1import plotly.express as px
2import pandas as pd
3
4# Örnek veri
5df = pd.DataFrame({
6'Ay': ['Ocak', 'Şubat', 'Mart', 'Nisan'],
7'Satış': [150, 200, 175, 250],
8'Bölge': ['Kuzey', 'Kuzey', 'Güney', 'Güney']
9})
10
11# Plotly çizgi grafiği
12fig = px.line(df, x='Ay', y='Satış', color='Bölge',
13title='Aylık Satış Trendi',
14markers=True)
15
16fig.show()

Beklenen çıktı: Tarayıcıda açılan interaktif grafik. Mouse ile hover ettiğinde değerler görünür, sağ üstte zoom ve pan araçları vardır.

Matplotlib kodun varsa, veriyi pandas DataFrame'e yükle ve yukarıdaki yapıyı kullan. Matplotlib'in `plt.plot()` yerine `px.line()`, `plt.scatter()` yerine `px.scatter()` yaz.

Reklam · TEST
AdSense Test ReklamıYazı arası (gönderi içi) · Yazı arası

Daha karmaşık grafikler için `plotly.graph_objects` kullan:

1import plotly.graph_objects as go
2
3fig = go.Figure()
4
5fig.add_trace(go.Scatter(
6x=['A', 'B', 'C'],
7y=[10, 15, 13],
8mode='lines+markers',
9name='Seri 1'
10))
11
12fig.add_trace(go.Scatter(
13x=['A', 'B', 'C'],
14y=[16, 5, 11],
15mode='lines+markers',
16name='Seri 2'
17))
18
19fig.update_layout(title='Karşılaştırmalı Grafik',
20hovermode='x unified')
21fig.show()

Beklenen çıktı: İki seriyi gösteren çizgi grafiği, hover ettiğinde her iki seri de aynı x noktasında görünür.

Grafikleri HTML dosyası olarak kaydetmek için `fig.write_html('grafik.html')` kullan. Sunucuda deploy etmek istiyorsan Streamlit veya Dash kullan.

Sık yapılan hata: Plotly'nin veri formatı Matplotlib'ten farklıdır. Her zaman DataFrame kullan, NumPy dizileri doğrudan geçme. Ayrıca `fig.show()` Jupyter'de otomatik çalışır ama script olarak çalıştırırsan tarayıcı açılır.

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