Seri bilgileri için kendi etiketlerine eklemeye çalıştığım bir çizimim var (aşağıda kod örneği yapıştırılmış). "P1s1" "p1s2" "p3s4" 'ü çizmek yerine, "tedavi 1" "tedavi 2" "tedavi 3"' ü tercih ederim. Benzersiz seri isimlerini elde etmek için seviyeleri (series_id) kullandım ve açıklamaları almak için bir arama tablosu kullandım. (Bence bu, onları düzenlendikleri sırayla alırlar) ve ben de bu tanımlamaları tedavi_dizileri adı verilen bir vektörde var.R's ggplot'ta bir efsaneye özel seri etiketleri nasıl eklenir?
Dokümantasyonda burada bir ölçek kullanmam gerektiğini düşünüyorum, ancak hangisinin olduğunu veya nasıl yapılacağını anlayamıyorum. Bir şey gibi: scale_something (name = "Tedavi Açıklamaları", breakks = NULL, label = treatment_descriptions, formatter = NULL)? Ama bu nereye gitmeli?
library(ggplot2)
# Create a long data.frame to store data...
growth_series = data.frame ("read_day" = c(0, 3, 9, 0, 3, 9, 0, 2, 8),
"series_id" = c("p1s1", "p1s1", "p1s1", "p1s2", "p1s2", "p1s2", "p3s4", "p3s4", "p3s4"),
"mean_od" = c(0.6, 0.9, 1.3, 0.3, 0.6, 1.0, 0.2, 0.5, 1.2),
"sd_od" = c(0.1, 0.2, 0.2, 0.1, 0.1, 0.3, 0.04, 0.1, 0.3),
"n_in_stat" = c(8, 8, 8, 8, 7, 5, 8, 7, 2)
)
> # Now gives us some example long form data...
> > growth_series
> read_day series_id mean_od sd_od n_in_stat
> 1 p1s1 0.6 0.10 8 2
> 3 p1s1 0.9 0.20 8 3
> 9 p1s1 1.3 0.20 8 4
> 0 p1s2 0.3 0.10 8 5
> 3 p1s2 0.6 0.10 7 6
> 9 p1s2 1.0 0.30 5 7
> 0 p3s4 0.2 0.04 8 8
> 2 p3s4 0.5 0.10 7 9
> 8 p3s4 1.2 0.30 2 2
# Plot using ggplot...
ggplot(data = growth_series, aes(x = read_day, y = mean_od, group = series_id, color = series_id)) +
geom_line(size = 1.5) +
geom_point(aes(size = n_in_stat)) +
geom_errorbar(aes(ymin = mean_od - sd_od, ymax = mean_od + sd_od), size = 1, width = 0.3) +
xlab("Days") + ylab("Log (O.D. 730 nm)") +
scale_y_log2() +
scale_colour_hue('my legend', breaks = levels(growth_series$series_id), labels=c('t1', 't2', 't3'))
sayesinde ilk öneri çalıştı, şimdi açık bir soru tutacağız vermedi ikinci, Bence bunu yapmanın daha iyi bir yolu olmalı. Tanımlarım oldukça uzun, bu yüzden tablodaki gibi olmak gerçekten çirkin görünüyor, ama sanırım ben arsadan hemen önce masaya koymak zorunda değilim, bu yüzden büyük bir anlaşma değil. Şerefe, John – John
İkincisinin nesi var? Bu arada, "...", ggplot() + geom_line + .. grubunuzu temsil eder. + Scale_y_log2 – xiechao
Elbette, bunu denedim ama bir sözdizimi hatası alıyorum, bu sizin için işe yarıyor mu? – John