情节矢量作为barplot

时间:2013-12-03 11:49:51

标签: r ggplot2

我有一个矢量:

x<-c(1,1,1,1,2,3,5,1,1,1,2,4,9)
y<-length(x)

我想绘制这样的图,使每个值分别绘制而不是绘制计数。

所以基本上每个值都应该在图中单独表示,其中x轴的长度等于y,并且每个值都绘制在y轴上。

如何使用qplot完成此操作?

表示矩阵:

a<-matrix(NA, ncol=3, nrow=100)

a[,1]<-1:100
a[,2]<-rnorm(100)
a[,3]<-rnorm(100)

a<-melt(as.data.frame(a),id.vars="V1")

ggplot(一,AES(seq_along(a)所示,))+ geom_bar(STAT = “同一性”)+ facet_wrap(V1)

3 个答案:

答案 0 :(得分:11)

使用ggplot2将x作为y值,并沿x轴的x值生成序列。

ggplot(data.frame(x),aes(seq_along(x),x))+geom_bar(stat="identity")

enter image description here

如果你有矩阵a,你需要为每一行制作图,然后将其融化,然后使用variable表示x轴,value表示y轴

a<-melt(as.data.frame(a),id.vars=1)

ggplot(a,aes(variable,value))+geom_bar(stat="identity")+facet_wrap(~V1)

enter image description here

答案 1 :(得分:1)

简单解决方案:

barplot(x,xlim = c(0,15), ylim = c(0,10))
根据向量长度

缩放

xlim和ylim

答案 2 :(得分:0)

您也可以尝试这一点,而无需明确创建ggplot() + geom_bar(aes(x=seq_along(x),y=x), stat='identity') + xlab('x') + ylab('y')

public static void init(String h){
    host=h;
    connected=false;
    instance = new Client();
    new Thread(new Runnable() {
        @Override
        public void run() {
            group = new NioEventLoopGroup();
            try{
                bootstrap = new Bootstrap()
                        .group(group)
                        .channel(NioSocketChannel.class)
                        .handler(instance);

                channel = bootstrap.connect(host,PORT).sync().channel();
                connected=true;

            } catch (Exception e) {
                if (notifier!=null){
                    notifier.onServerNoLongerReachable();
                }
                e.printStackTrace();
            }
        }
    }).start();
}

public static void setNotifier(ClientInterface notif){
    notifier = notif;
}

http://pngtosvg.com/