Saya memiliki plot berikut seperti di bawah ini. Itu dibuat dengan perintah ini:
library(ggplot2)
df <- data.frame(cond = factor(rep(c("A", "B"), each = 200)),
rating = c(rnorm(200), rnorm(200, mean=.8)))
ggplot(df, aes(x=rating, fill=cond)) +
geom_density(alpha = .3) +
xlab("NEW RATING TITLE") +
ylab("NEW DENSITY TITLE")
Sekarang hal berikutnya yang ingin saya lakukan adalah mengubah judul legenda dari cond ke NEW LEGEND TITLE .
Jadi yang saya lakukan adalah menambahkan baris berikut, tambahkan akhir kode di atas:
+labs(colour="NEW LEGEND TITLE")
Tapi itu tidak berhasil. Apa cara yang benar untuk melakukannya?
labs(fill="xyz")
harus dilakukangeom_
pernyataan, saya merekomendasikan jawabannya di stackoverflow.com/a/38485985/1169233 , itu satu-satunya yang bekerja untuk saya.Jawaban:
Ini seharusnya bekerja:
(atau sebagai alternatif)
sumber
p$labels$fill <- "New Legend Title"
p$labels$fill
tidak bekerja untuk saya. Denganggplot2_2.1.0
saya menggunakanp$labels$colour <- "New legend title"
p$labels$fill
bagus tetapi jika Anda menggunakan lebih dari satu variabel dalam estetika (linetype, warna, bentuk) di aes, Anda harus mengubahnya untuk masing-masing secara terpisah.Saya tidak menggali banyak tentang ini tetapi karena Anda menggunakan fill = cond in ggplot (),
mungkin tidak berhasil. Namun jika Anda mengganti warna dengan isi , itu berfungsi!
Ini bekerja untuk saya di ggplot2_2.1.0
sumber
p + guides(fill=guide_legend(title="New Legend Title"))
Karena Anda memiliki dua kerapatan, saya bayangkan Anda mungkin ingin mengatur warna Anda sendiri
scale_fill_manual
.Jika demikian, Anda dapat melakukannya:
sumber
Tidak satu pun dari kode di atas bekerja untuk saya.
Inilah yang saya temukan dan berhasil.
labs(color = "sale year")
Anda juga dapat memberi ruang antara judul dan tampilan dengan menambahkan
\n
di bagian akhir.labs(color = 'sale year\n")
sumber
fill
bukannyacolor
(ataucolour
) diperlukan? Mengingat waktu pertanyaan, mungkin ituggplot2
terkait versi.Karena dalam kode yang Anda gunakan
ggplot(data, fill= cond)
untuk membuat histogram Anda perlu menambahkan judul legenda dengan juga menggunakan "isi" di bagian label yaitu+labs(fill="Title name")
. Jika Anda menggunakan tipe plot yang berbeda dengan kode ggplot (data, color = cond), maka Anda dapat menggunakannya+labs(colour= "Title Name")
. Singkatnya, argumen lab harus cocok dengan argumen aes.Saya telah terbiasa
+ guides(fill=guide_legend("my awesome title"))
mengubah judul legenda pada plot geom_bar tetapi sepertinya tidak berhasil untuk geom_point.sumber
geom_point()
, ini bekerja untuk saya:guides(color=guide_legend("Type:"))
guides(color=guide_legend("Score Ranking:"))
Ada jawaban lain yang sangat sederhana yang dapat bekerja untuk beberapa grafik sederhana.
Cukup tambahkan panggilan ke guide_legend () ke dalam grafik Anda.
Seperti yang ditunjukkan dalam dokumen ggplot yang sangat bagus .
Jika itu tidak berhasil, Anda dapat mengatur parameter panduan dengan panggilan ke panduan :
Anda juga dapat memvariasikan bentuk / warna / ukuran dengan menentukan parameter ini untuk panggilan Anda
guides
juga.sumber
qplot(…) + guides(color=guide_legend(title="sale year"))
berhasilHanya untuk menambah daftar (opsi lain di sini tidak bekerja untuk saya), Anda juga dapat menggunakan fungsi update_labels untuk ggplot:
Ini juga akan memungkinkan Anda untuk mengubah label sumbu x dan y, dengan baris terpisah:
sumber
Saya perhatikan ada dua cara untuk mengubah / menentukan legend.title untuk ggboxplot ():
Kode diubah berdasarkan contoh dari GitHub .
sumber
Saya menggunakan facet_wrap di ggplot saya dan tidak ada solusi yang disarankan yang bekerja untuk saya kecuali solusi ArnaudA:
sumber
Banyak orang menghabiskan banyak waktu mengganti label, label legenda, judul, dan nama sumbu karena mereka tidak tahu bahwa mungkin untuk memuat tabel di R yang berisi spasi
" "
. Namun Anda dapat melakukan ini untuk menghemat waktu atau mengurangi ukuran kode Anda, dengan menentukan pemisah saat Anda memuat tabel yang misalnya dibatasi dengan tab (atau pemisah lain selain standar atau satu ruang tunggal):atau dengan menggunakan parameter pemuatan default format csv:
Ini berarti Anda dapat secara langsung menyimpan nama
"NEW LEGEND TITLE"
sebagai nama kolom (header) dalam file data asli Anda untuk menghindari menentukan judul legenda baru di setiap plot.sumber
ggplot(df) + labs(legend = '<legend_title>')
sumber