Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R ggplot2似乎在相同的x位置放置不同的点?_R_Plot_Ggplot2_Facets - Fatal编程技术网

R ggplot2似乎在相同的x位置放置不同的点?

R ggplot2似乎在相同的x位置放置不同的点?,r,plot,ggplot2,facets,R,Plot,Ggplot2,Facets,我在ggplot2的情节上遇到了麻烦。我试图显示一组点,其中x轴是年,y轴是浮点。“类型”和“组”有两个方面,分别有4个和2个值。奇怪的是,不同的年份值似乎被放置在图中相同的年份位置。我想我做错了什么,但不确定是什么 library(ggplot2) csv <- '"","year","type","meanPM2.5","group" "1","1999","NON-ROAD",0.650193156943192,"Baltimore" "2","1999","NONPOINT",5

我在ggplot2的情节上遇到了麻烦。我试图显示一组点,其中x轴是年,y轴是浮点。“类型”和“组”有两个方面,分别有4个和2个值。奇怪的是,不同的年份值似乎被放置在图中相同的年份位置。我想我做错了什么,但不确定是什么

library(ggplot2)

csv <- '"","year","type","meanPM2.5","group"
"1","1999","NON-ROAD",0.650193156943192,"Baltimore"
"2","1999","NONPOINT",53.8128535945545,"Baltimore"
"3","1999","ON-ROAD",0.384811951879435,"Baltimore"
"4","1999","POINT",23.7744225574713,"Baltimore"
"5","2002","NON-ROAD",0.556466983374061,"Baltimore"
"6","2002","NONPOINT",33.4348242946658,"Baltimore"
"7","2002","ON-ROAD",0.173168130596644,"Baltimore"
"8","2002","POINT",14.131129233003,"Baltimore"
"9","2005","NON-ROAD",0.512356196792363,"Baltimore"
"10","2005","NONPOINT",31.8169245427152,"Baltimore"
"11","2005","ON-ROAD",0.148555691013436,"Baltimore"
"12","2005","POINT",13.6351701910803,"Baltimore"
"13","2008","NON-ROAD",0.295555123686582,"Baltimore"
"14","2008","NONPOINT",20.8642755980118,"Baltimore"
"15","2008","ON-ROAD",0.117856744706526,"Baltimore"
"16","2008","POINT",2.24419944428104,"Baltimore"
"17","1999","NON-ROAD",5.81044444444444,"Total"
"18","1999","NONPOINT",84.305,"Total"
"19","1999","ON-ROAD",1.80635416666667,"Total"
"20","1999","POINT",22.8303846153846,"Total"
"21","2002","NON-ROAD",2.16979209254948,"Total"
"22","2002","NONPOINT",41.9305555555556,"Total"
"23","2002","ON-ROAD",0.418407542677101,"Total"
"24","2002","POINT",8.49641791044776,"Total"
"25","2005","NON-ROAD",2.2426458532036,"Total"
"26","2005","NONPOINT",41.9305555555556,"Total"
"27","2005","ON-ROAD",0.402562900882384,"Total"
"28","2005","POINT",16.9364788732394,"Total"
"29","2008","NON-ROAD",0.536765014018269,"Total"
"30","2008","NONPOINT",30.5157179549356,"Total"
"31","2008","ON-ROAD",0.313033536852635,"Total"
"32","2008","POINT",1.28722083560821,"Total"'

w <- read.csv(text = csv)
qplot(w$year, w$meanPM2.5, data=w, facets = type~group)

库(ggplot2)

csv无需为轴指定w,因为其qplot已从数据参数中知道这一点。见下文,它给了我预期的结果


qplot(year,meanspm2.5,data=w,facets=type~group

使用其他符号的临时解决方案
ggplot(w,aes(x=year,y=meanspm2.5))+geom_point()+facet_grid(type~group)
一定要远离
qplot
。我几乎完成了一项受哈德利启发的计划,即除去
qplot
ggplot
文档中的
qplot
函数示例之外的所有地方。这确实给了我正确的输出,但我不明白为什么。你能解释一下为什么会有不同吗?我试试看。如果我们看一下“qplot”的幕后情况,我们会发现它做出了一些假设,然后最终在“parent.frame()”env中调用了“ggplot”。查看“ggplot”,我们看到对象“p”实际上是保存我们的ggplot对象的对象,并且没有独立的x或y。它在“p$data”的列表中调用。所以,当你说“w$year”时,你并没有调用一个唯一的对象,而是调用w的子集(这就是为什么当w被假定但没有提供时它工作得很好)。简而言之,qplot关注的是与w相关的“w$year”。