每行上有多个值,带有R中的圆点图

时间:2011-11-10 14:13:44

标签: r

我有以下R的输入文件:

car    1
car    2 
car    3 
car2   1 
car2   2 
car2   3 

然后我使用以下命令绘制我的图表:

  

autos_data< - read.table(“〜/ Documents / R / test.txt”,header = F)

     

dotchart(autos_data $ V2,autos_data $ V1)

但是这会在新线上绘制每个car和car2的值,如何绘制图表以便所有汽车值都在一条线上,所有car2值都在另一条线上。

3 个答案:

答案 0 :(得分:5)

据我所知,基地dotchart没有办法做到这一点。

但是,如果格子dotplot也适合您的需要,您可以这样做:

library(lattice)
dotplot(V1~V2, data=autos_data)

enter image description here

答案 1 :(得分:5)

请注意,您可以使用?points将点添加到圆点图中,因此可以在基础R中完成并进行一些数据管理。以下是它的完成方式:

autos_data = read.table(text="car    1
car    2 
car    3 
car2   1 
car2   2 
car2   3", header=F)

aData2 = autos_data[!duplicated(autos_data[,1]),]

dotchart(aData2[,2], labels=aData2[,1], 
         xlim=c(min(autos_data[,2]), max(autos_data[,2])))
points(autos_data[,2] , autos_data[,1])

enter image description here

@Josh O'Brien的格子解决方案当然更优雅。

答案 2 :(得分:1)

这是ggplot2解决方案

qplot(V1, V2, data=autos_data) + coord_flip()

enter image description here