Dengan kerangka data ini ("df"):
year pollution
1 1999 346.82000
2 2002 134.30882
3 2005 130.43038
4 2008 88.27546
Saya mencoba membuat bagan garis seperti ini:
plot5 <- ggplot(df, aes(year, pollution)) +
geom_point() +
geom_line() +
labs(x = "Year", y = "Particulate matter emissions (tons)", title = "Motor vehicle emissions in Baltimore")
Kesalahan yang saya dapatkan adalah:
geom_path: Setiap grup hanya terdiri dari satu pengamatan. Apakah Anda perlu menyesuaikan estetika grup?
Bagan muncul sebagai sebaran plot meskipun saya ingin bagan garis. Saya mencoba untuk mengganti geom_line()
dengan geom_line(aes(group = year))
tetapi itu tidak berhasil.
Dalam jawaban saya diberitahu untuk mengubah tahun menjadi variabel faktor. Saya lakukan dan masalahnya tetap ada. Ini adalah output dari str(df)
dan dput(df)
:
'data.frame': 4 obs. of 2 variables:
$ year : num 1 2 3 4
$ pollution: num [1:4(1d)] 346.8 134.3 130.4 88.3
..- attr(*, "dimnames")=List of 1
.. ..$ : chr "1999" "2002" "2005" "2008"
structure(list(year = c(1, 2, 3, 4), pollution = structure(c(346.82,
134.308821199349, 130.430379885892, 88.275457392443), .Dim = 4L, .Dimnames = list(
c("1999", "2002", "2005", "2008")))), .Names = c("year",
"pollution"), row.names = c(NA, -4L), class = "data.frame")
df
bukan itu yang Anda pikirkan. Silakan sebutkan pertanyaan Anda dalam bentuk yang dapat direproduksi, yaitu tunjukkan hasil daridput(df)
.Jawaban:
Anda hanya perlu menambahkan
group = 1
ke ggplot atau geom_line aes ().Referensi: Cookbook untuk R, Bab: Grafik Bar_and_line_graphs_ (ggplot2), Grafik garis.
Coba ini:
sumber
group
argumen. Pengelompokan saja misalnya dengancolor
tidak akan mencukupi. Saya baru saja mengalami masalah ini dan berharap ini membantu seseorang mengalami hal yang samaAnda mendapatkan kesalahan ini karena salah satu variabel Anda sebenarnya adalah variabel faktor. Menjalankan
untuk memeriksanya. Kemudian lakukan perubahan variabel ganda ini untuk mempertahankan angka tahun alih-alih berubah menjadi angka level "1,2,3,4":
EDIT: tampaknya data.frame Anda memiliki variabel "array" kelas yang mungkin menyebabkan pb. Cobalah:
dan plot lagi?
sumber
Saya punya masalah serupa dengan bingkai data:
Saya pikir variabel untuk sumbu x harus numerik, sehingga geom_line tahu cara menghubungkan titik-titik untuk menggambar garis.
setelah saya mengubah kolom ke-2 menjadi numerik:
lalu bekerja.
sumber
Mulai R dalam sesi baru dan tempel ini di:
sumber
Saya mendapat prompt serupa. Itu karena saya telah menentukan sumbu x dalam beberapa persentase (misalnya: 10% A, 20% B, ....). Jadi pendekatan alternatif bisa jadi Anda mengalikan nilai-nilai ini dan menulisnya dalam bentuk paling sederhana.
sumber