Bagaimana cara memplot Nilai Maksimum Global saja menggunakan geom_text?

df%>%
  group_by(approved_date)%>%
  summarise(rev=sum(gmv))%>%
  ggplot(aes(x = approved_date, y = rev)) + 
    geom_line() + 
    geom_smooth(method = 'auto', se = FALSE) + 
    labs(x = 'Date', y = 'Revenue', title = 'Revenue by Date') +
    scale_y_continuous(labels = function(x) format(x, scientific = FALSE)) +
    stat_peaks(colour = "red", span = NULL) + 
    stat_valleys(colour = "blue", span = NULL) + 
    geom_text(aes(label = round(rev, 0)),
              vjust = "inward", 
              hjust = "inward",
              show.legend = FALSE,
              check_overlap = TRUE)

Saya memiliki kode ini yang saat dijalankan memberi label pada semua nilai Maxima Lokal dan Minima. Saya hanya menginginkan nilai Global Maksimum dan Global Minimum. Bagaimana caranya?


person Harsh Mehta    schedule 03.12.2019    source sumber
comment
Tolong tunjukkan contoh kecil yang dapat direproduksi   -  person akrun    schedule 03.12.2019


Jawaban (1)


Karena kode dalam pertanyaan tidak dapat dijalankan karena kekurangan data, saya menunjukkan contoh yang sedikit dimodifikasi dari paket Panduan Pengguna. Dalam hal ini contoh yang berbeda ini seharusnya cukup untuk menemukan solusinya.

library(ggpmisc)
ggplot(lynx, as.numeric = FALSE) + geom_line() + 
  stat_peaks(colour = "red") +
  stat_peaks(geom = "text", colour = "red", vjust = -0.5, 
             check_overlap = TRUE, span = NULL) +
  ylim(-100, 7300)

masukkan deskripsi gambar di sini

Dengan kata lain geom "text" harus diteruskan sebagai argumen ke stat_peaks() dan juga span = NULL untuk mendapatkan satu label. Jika Anda menambahkan geom_text() secara langsung, puncak tidak dipilih melainkan semua nilai yang disimpan dalam variabel yang dipetakan ke estetika label ditambahkan ke plot.

person Pedro Aphalo    schedule 03.12.2019
comment
Saya menggunakan contoh berbeda di atas sehingga saya dapat memverifikasi bahwa kode dalam jawaban saya benar-benar berfungsi. Secara umum yang terbaik adalah memasukkan contoh paling sederhana ke dalam pertanyaan yang menunjukkan masalah tetapi dapat dijalankan, yang biasanya berarti menyediakan kumpulan data kecil Anda sendiri atau menggunakan data yang disertakan dalam R atau paket dalam kode Anda. - person Pedro Aphalo; 03.12.2019