ggplot2 each group consists of only one observation

匿名 (未验证) 提交于 2019-12-03 01:08:02

问题:

I am trying to plot the graph using ggplot2

So I have the following dataframe:

   iter        se perf name 1    V1 0.6463573 12.8    e 2    V2 0.3265986 16.8    e 3    V3 0.2333333 19.1    e 4    V4 0.1000000 19.9    e 5    V5 0.0000000 20.0    e 6    V1 0.7483315 12.6    f 7    V2 0.6333333 16.3    f 8    V3 0.6798693 18.8    f 9    V4 0.2236068 19.5    f 10   V5 0.1000000 19.9    f 

and I am trying to plot it in the format similar to this page (under Line graphs).

So here is the code for plotting:

pd 

and it is working nicely:

, except that I want these dots to be connected. I tried to add group=1 or group=name to this part aes(x=iter, y=perf, colour=name) but it did not help.

I also get these warnings:

ymax not defined: adjusting position using y instead ymax not defined: adjusting position using y instead geom_path: Each group consist of only one observation. Do you need to adjust the group aesthetic? 

After looking in the internet, I found that the first two are due to position_dodge, but I think it is because of the ggplot, the third one is actually because of my disconnected points.

Any ideas how to connect them?

回答1:

You need to adjust the group aesthetic, replace :

   geom_line(position=pd)  

by

  geom_line(position=pd,aes(group=name)) 



回答2:

check whether the data type is factor by using is.factor(x), if it is TRUE, then use as.integer function.



标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!