Data Visualization

Matplotlib’de Verimli Çember Çizimi

Spread the love

Matplotlib, daireleri görselleştirmek için her birinin kendi güçlü ve zayıf yönleri olan çeşitli yöntemler sunar. Bu makale, verimlilikleri ve farklı uygulamalar için uygunluklarını karşılaştırarak üç önemli yöntemi ele almaktadır.

İçerik Tablosu

  1. matplotlib.patches.Circle Kullanımı
  2. Daire Denklemiyle Çizim
  3. Dağılım Grafiğiyle Yaklaşım

1. matplotlib.patches.Circle Kullanımı

Bu, en basit ve genellikle tercih edilen yöntemdir. matplotlib.patches.Circle sınıfı, doğrudan grafiğinize eklenebilen bir daire nesnesi oluşturur. Verimlidir ve temiz, vektör tabanlı grafikler üretir.


import matplotlib.pyplot as plt
from matplotlib.patches import Circle

fig, ax = plt.subplots()

center_x, center_y = 0, 0
radius = 2

circle = Circle((center_x, center_y), radius, facecolor='skyblue', edgecolor='black', linewidth=2)
ax.add_patch(circle)

ax.set_xlim([-3, 3])
ax.set_ylim([-3, 3])
ax.set_aspect('equal') # Dairenin dairesel görünmesini sağlar
plt.title('matplotlib.patches.Circle kullanarak Daire')
plt.show()

2. Daire Denklemiyle Çizim

Bir daire, denklemiyle tanımlanabilir: (x – h)² + (y – k)² = r², burada (h, k) merkez ve r yarıçapıdır. Bu denklemi sağlayan x ve y koordinatlarını üretebilir ve bunları çizebiliriz.


import matplotlib.pyplot as plt
import numpy as np

h, k = 0, 0
r = 2

theta = np.linspace(0, 2 * np.pi, 200)  # Daha düzgün daire için daha fazla nokta
x = h + r * np.cos(theta)
y = k + r * np.sin(theta)

plt.plot(x, y)
plt.xlabel("x")
plt.ylabel("y")
plt.title('Denklemden Daire')
plt.gca().set_aspect('equal')
plt.show()

3. Dağılım Grafiğiyle Yaklaşım

Bir dağılım grafiği, dairenin yarıçapı içinde rastgele oluşturulmuş birçok noktayı çizerek bir daireyi yaklaşık olarak gösterebilir. Bu yöntem, önceki ikisinden daha az verimli ve daha az kesindir, ancak farklı bir yaklaşımı göstermektedir.


import matplotlib.pyplot as plt
import numpy as np

center_x, center_y = 0, 0
radius = 2
num_points = 500

angles = np.random.uniform(0, 2 * np.pi, num_points)
radii = np.random.uniform(0, radius, num_points)
x = center_x + radii * np.cos(angles)
y = center_y + radii * np.sin(angles)

plt.scatter(x, y, s=5) # Nokta boyutu için 's' ayarlayın
plt.xlabel("x")
plt.ylabel("y")
plt.title('Dağılım Grafiği kullanarak Daire Yaklaşımı')
plt.gca().set_aspect('equal')
plt.show()

matplotlib.patches.Circle yöntemi, verimliliği ve açıklığı nedeniyle genellikle önerilir. Diğer yöntemler, farklı çizim tekniklerine alternatif görselleştirmeler ve içgörüler sunar.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir