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()
.