簡體   English   中英

線型圖例

[英]Legends of linetypes

我正在嘗試制作箱形圖,並向其中添加圖例:

boxplot(mpg~factor(gear),data=mtcars,par(las=2),range=0,col=rainbow(3))
abline(h=median(mtcars$mpg),lty=3)
abline(h=25,lty=6)
legend("bottomright",c("Median mileage","Mileage@25"),lty=c(3,6))

但是,我無法訂購x軸刻度線。 要將訂單更改為4-3-5怎么辦? 您還能顯示如何使用ggplot2做到這一點嗎? 我的ggplot2試用版:

bp <- ggplot(mtcars,aes(x=gear,y=mpg))
order <- c(4,3,5)
bp+geom_boxplot(aes(colour=gear))+scale_x_discrete(limits=order)+geom_hline(yintercept=median(mtcars$mpg),linetype=2)+geom_hline(yintercept=25,linetype=8)

在這種情況下,我無法添加線型圖例,但是可以更改x軸標簽的順序。

如果要訂購箱形圖並具有離散變量,則需要轉換為系數:

library(ggplot2)
ord <- c(4,3,5)
md.mpg <- median(mtcars$mpg)
bp <- ggplot(mtcars,aes(x = as.factor(gear), y = mpg))
bp+geom_boxplot(aes(colour = as.factor(gear))) +
  scale_x_discrete(limits = as.factor(ord)) +
  geom_hline(yintercept = md.mpg, linetype = 2) +
  annotate("text", x = -Inf, y = md.mpg, label = sprintf("md = %.1f", md.mpg), vjust = -1.2, hjust = -0.2) +
  geom_hline(yintercept = 25,linetype = 8) +
  annotate("text", x = -Inf, y = 25, label = "value = 25", vjust = -1.2, hjust = -0.2)

在上面的示例中,您沒有不同的線型,至少沒有線型映射到數據,那么您要尋找哪種圖例?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM