Membuat Scatter Plot dengan Nilai Y yang Berbeda untuk Setiap X di Python

Membuat Scatter Plot dengan Nilai Y yang Berbeda untuk Setiap X di Python

Saya ingin membuat scatter plot di Python yang memiliki dua kategori "cat1" dan "cat2" sebagai nilai X, serta masing-masing memiliki beberapa nilai Y. Namun, saya belum menemukan contoh yang sesuai untuk kasus ini.

Pertama-tama, kita perlu memahami bahwa matplotlib (pyplot) tidak dapat membuat scatter plot dengan nilai X dan Y yang berbeda dimensi. Oleh karena itu, kita harus mengubah data menjadi bentuk yang sesuai.

Contoh kode di bawah ini menunjukkan cara membuat scatter plot dengan nilai Y yang berbeda untuk setiap X:

import matplotlib.pyplot as plt

# Nilai X dan Y
x1 = [1, 2, 3]
y11 = [0.8, 0.9, 0.7]
y12 = [0.6, 0.5, 0.4]

x2 = [4, 5, 6]
y21 = [0.4, 0.3, 0.2]
y22 = [0.1, 0.2, 0.3]

# Membuat scatter plot
plt.scatter([x for x in x1] * len(y11), y11)
plt.scatter([x for x in x2] * len(y21), y21)

# Menambahkan label dan title
plt.xlabel('X')
plt.ylabel('Y')
plt.title('Scatter Plot dengan Nilai Y yang Berbeda')

# Membuat legend
legend_handles = [plt.Line2D([0], [0], marker='o', color='w', label='cat1'),
 plt.Line2D([0], [0], marker='o', color='w', label='cat2')]
plt.legend(handles=legend_handles, loc='upper right')

# Menampilkan plot
plt.show()

Pada kode di atas, kita menggunakan sintaks for untuk mengulang nilai X dan Y. Kemudian, kita membuat scatter plot dengan menggunakan sintaks plt.scatter(). Kita juga menambahkan label dan title pada plot.

Membuat Scatter Plot dengan Nilai Y yang Berbeda untuk Setiap X di R

Berikut adalah contoh kode di R untuk membuat scatter plot dengan nilai Y yang berbeda untuk setiap X:

# Nilai X dan Y
x1 <- c(1, 2, 3)
y11 <- c(0.8, 0.9, 0.7)
y12 <- c(0.6, 0.5, 0.4)

x2 <- c(4, 5, 6)
y21 <- c(0.4, 0.3, 0.2)
y22 <- c(0.1, 0.2, 0.3)

# Membuat scatter plot
plot(x1[1:length(y11)], y11, pch=19, col='darkgreen')
points(x2[1:length(y21)], y21, pch=19, col='red')
legend('topleft', c('cat1', 'cat2'), pch=19, col=c('darkgreen', 'red'))

Pada kode di atas, kita menggunakan sintaks plot() untuk membuat scatter plot. Kemudian, kita menambahkan label dan legend pada plot.

Dalam kedua contoh di atas, kita dapat melihat bahwa nilai X dan Y memiliki dimensi yang berbeda. Namun, kita telah mengubah data menjadi bentuk yang sesuai sehingga dapat dibuat scatter plot dengan menggunakan sintaks plt.scatter() atau plot().