Saya telah menghabiskan waktu berjam-jam untuk melihat dokumentasi dan StackOverflow, tetapi tampaknya tidak ada solusi untuk menyelesaikan masalah saya. Saat menggunakan ggplot
saya tidak bisa mendapatkan teks yang tepat di legenda, meskipun itu dalam kerangka data saya. Saya sudah mencoba scale_colour_manual
, scale_fill_manual
dengan nilai yang berbeda labels=
seperti c("T999", "T888")", "cols"
.
Ini kode saya:
T999 <- runif(10, 100, 200)
T888 <- runif(10, 200, 300)
TY <- runif(10, 20, 30)
df <- data.frame(T999, T888, TY)
ggplot(data = df, aes(x=T999, y=TY, pointtype="T999")) +
geom_point(size = 15, colour = "darkblue") +
geom_point(data = df, aes(x=T888, y=TY), colour = 'red', size = 10 ) +
theme(axis.text.x = element_text(size = 20), axis.title.x =element_text(size = 20), axis.text.y = element_text(size = 20)) +
xlab("Txxx") + ylab("TY [°C]") + labs(title="temperatures", size = 15) +
scale_colour_manual(labels = c("T999", "T888"), values = c("darkblue", "red")) + theme(legend.position="topright")
Bantuan akan sangat dihargai!
ggplot
paling disukai (panjang, tidak lebar), dan untuk merasakan perbedaan antara memetakan sebuahaes
teori ke variabel dalamaes
panggilan, vs. menyetelnya di luaraes
. Anda perlumelt
data Anda ke format yang panjang, dan memetakancolour
(ataufill
)aes
ke variabel yang relevan.Jawaban:
Tutorial yang disebutkan @Henrik adalah sumber yang bagus untuk mempelajari cara membuat plot dengan
ggplot2
paket tersebut.Contoh dengan data Anda:
ini menghasilkan:
Seperti yang disebutkan oleh @ user2739472 di komentar: Jika Anda hanya ingin mengubah label legenda teks dan bukan warna dari palet standar ggplot, Anda dapat menggunakan
scale_color_hue(labels = c("T999", "T888"))
bukanscale_color_manual()
.sumber
scale_color_hue(labels = c("T999", "T888"))
bukannyascale_color_manual()
Judul legenda dapat diberi label dengan estetika tertentu .
Ini dapat dicapai dengan menggunakan fungsi
guides()
ataulabs()
dariggplot2
(selengkapnya di sini dan di sini ). Ini memungkinkan Anda untuk menambahkan properti pemandu / legenda menggunakan pemetaan estetika.Berikut adalah contoh penggunaan
mtcars
kumpulan data danlabs()
:Menjawab pertanyaan OP menggunakan
guides()
:sumber
scale_ ..
ataulabs
.scale_color_manual(title="...", ...)
. Saya melihat Anda telah memodifikasinya untuk merujuk pada estetika warnalabs()
. Saya menawarkan solusi saya sebagai alternatif.