简体   繁体   English

不需要的结果显示ggplot boxplot

[英]Undesired result displaying ggplot boxplot

I am plotting this data: 我正在绘制此数据:

Day,Property,Violent
Mon,7.2,5.7
Tue,5,4.5
Wed,6.3,3.6
Thu,5.4,4
Fri,9.5,5.6
Sat,16,10.9
Sun,14.2,8.6

with the following code: 使用以下代码:

library(ggplot2)
library(reshape)
week <- read.csv("week.csv", header=TRUE)
data.melt <- melt(week,id="Day")

ggplot() +
geom_boxplot(aes(x=Day, y= value, fill= variable), 
             data= data.melt, position = position_dodge(width = .9))
  1. Why do my markers appear on the legend but not on the plot? 为什么我的标记出现在图例上而不出现在情节上?
  2. How can I logically re-order the days of week beginning from Monday? 如何从星期一开始逻辑上重新排序星期几? Any help will be appreciated 任何帮助将不胜感激
DF <- read.table(text="Day,Property,Violent
Mon,7.2,5.7
Tue,5,4.5
Wed,6.3,3.6
Thu,5.4,4
Fri,9.5,5.6
Sat,16,10.9
Sun,14.2,8.6", header=TRUE, sep=",")

#I would consider the weekdays ordered, so let's turn them into an ordered factor.
DF$Day <- ordered(as.character(DF$Day), as.character(DF$Day))

library(ggplot2)
library(reshape2)
data.melt <- melt(DF,id.vars="Day")

ggplot() +
  geom_boxplot(aes(x=Day, y= value, fill= variable), 
               data= data.melt, position = position_dodge(width = .9))

在此处输入图片说明

This works just fine. 这样很好。 You don't see much, because you only have one value per box. 您看不到太多,因为每个框只有一个值。 If you want to actually see the colours, you need more values per day and variable. 如果要实际查看颜色,则每天需要更多的值和可变的值。 Alternatively, you could use geom_point : 另外,您可以使用geom_point

ggplot() +
  geom_point(aes(x=Day, y= value, colour= variable), 
               data= data.melt, position = position_dodge(width = .9))

在此处输入图片说明

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM