Menggabungkan Plotting Multiple Polynomial dan Linear Regression Lines pada Scatter Plot

Menggabungkan Plotting Multiple Polynomial dan Linear Regression Lines pada Scatter Plot

Pada artikel ini, kita akan membahas bagaimana menggabungkan ploting multiple polynomial dan linear regression lines pada scatter plot. Kita akan menggunakan library ggplot2 di R untuk melakukan hal tersebut.

Pertama-tama, kita perlu membuat fungsi plot_poly yang akan digunakan untuk plotting scatter plot dengan multiple polynomial dan linear regression lines. Fungsi ini akan menerima beberapa argumen, termasuk data frame (df), filter (filter), power (power), dan warna (color). Fungsi ini juga akan menggunakan fungsi stat_smooth dan stat_poly_eq untuk plotting scatter plot dengan multiple polynomial dan linear regression lines.

Berikut adalah contoh kode R yang menunjukkan bagaimana menggabungkan ploting multiple polynomial dan linear regression lines pada scatter plot:

plot_poly = function(...){
 arguments = list(...)
 df = arguments$df %>% filter(Fabric == arguments$filter)
 list(
 stat_smooth(
 data = df,
 aes(x = commutetime, y = carcommute),
 method = 'lm',
 formula = y ~ poly(x, arguments$power),
 size = 1,
 color = arguments$color,
 se = F
 ),
 stat_poly_eq(
 data = df,
 aes(x = commutetime, y = carcommute, label = paste(..eq.label.., ..rr.label.., sep = "~~~")),
 label.x = arguments$eq.x,
 label.y = arguments$eq.y,
 color = arguments$color,
 formula = equation,
 parse = T,
 size = 3
 )
 )
}

Kemudian, kita dapat menggunakan fungsi plot_poly untuk plotting scatter plot dengan multiple polynomial dan linear regression lines. Contoh kode R berikut menunjukkan bagaimana menggabungkan ploting multiple polynomial dan linear regression lines pada scatter plot:

ggplot() +
 geom_point(data = df, aes(x=commutetime, y = carcommute, color=Fabric, shape=Fabric), size=3.5) + 
 plot_poly(df = df, filter = 'Automobile', power = 2, color = '#00AFBB', eq.x = 0, eq.y = 0.5) +
 plot_poly(df = df, filter = 'Walking', power = 2, color = "#E7B800", eq.x = 0.2, eq.y = 0.3) +
 plot_poly(df = df , filter = 'Transit', power = 1, color = "#FC4E07", eq.x = 0.4, eq.y = 0.1) +
 scale_color_manual(values = c("#00AFBB", "#E7B800", "#FC4E07"))+
 scale_fill_manual(values = c("#00AFBB", "#E7B800", "#FC4E07"))

Pada bagian atas, kita dapat melihat bahwa fungsi plot_poly digunakan untuk plotting scatter plot dengan multiple polynomial dan linear regression lines. Pada bagian bawah, kita dapat melihat bahwa fungsi geom_point digunakan untuk plotting titik-titik data pada scatter plot.

Menggabungkan Scatter HighChart dengan Polynomial Chart

Pada artikel ini, kita juga akan membahas bagaimana menggabungkan scatter highchart dengan polynomial chart. Kita akan menggunakan library Highcharts di JavaScript untuk melakukan hal tersebut.

Berikut adalah contoh kode JavaScript yang menunjukkan bagaimana menggabungkan scatter highchart dengan polynomial chart:

Highcharts.Chart({
 chart: {
 type: 'scatter',
 zoomType: 'x'
 },
 title: {
 text: 'Scatter Highchart with Polynomial Chart'
 },
 xAxis: {
 categories: ['1', '2', '3']
 },
 yAxis: {
 title: {
 text: 'Value'
 }
 },
 series: [
 {
 type: 'spline',
 data: [[1, 2], [1, 6], [3, 9]]
 },
 {
 type: 'polynomial',
 regression: true,
 data: [[1, 1], [2, 3], [3, 9]],
 color: 'rgba(223, 183, 83, .9)',
 dashStyle: 'dash'
 }
 ]
});

Pada bagian atas, kita dapat melihat bahwa chart type-nya adalah scatter. Pada bagian bawah, kita dapat melihat bahwa dua seri digunakan untuk menggabungkan scatter highchart dengan polynomial chart. Seri pertama adalah sering spline yang menunjukkan titik-titik data pada scatter plot. Seri kedua adalah polinomial regression line yang menunjukkan garis regresi polynomial.

Dalam contoh kode di atas, kita menggunakan library Highcharts untuk menggabungkan scatter highchart dengan polynomial chart. Kita dapat melihat bahwa dua seri digunakan untuk menggabungkan scatter highchart dengan polynomial chart, dan hasilnya adalah sebuah chart yang menunjukkan titik-titik data pada scatter plot serta garis regresi polynomial.