我用ggplot2做了一个直方图。但列的高度与y轴上的值比例不一致。此外,y轴上的值的顺序也不正确。
#This is the code I used.
data1 <- matrix(c("1", "2", "3", "4304", "456", "30"), nrow = 3, ncol = 2, dimnames = list(1:3, c("number_gRNA", "ncell")))
ggplot(data1, aes(number_gRNA, ncell)) + geom_col(width = 0.4, fill="#56B4E9", colour="black") + ggtitle("sgRNA distribution")
我希望柱子的高度能与它们的值成比例。同时,y轴上的值遵循递增顺序。
发布于 2019-05-21 03:12:13
好的,我做了两个简单的改变来让它工作。
首先,ggplot()
不接受矩阵,所以我使用了as_tibble()
来使其工作。
但是对于你的问题,它将number_gRNA
作为一个字符,并假设它是绝对的。所以你需要as.numeric()
来实现这一点。
library(tidyverse)
data1 <- matrix(
c("1", "2", "3", "4304", "456", "30"),
nrow = 3,
ncol = 2,
dimnames = list(1:3, c("number_gRNA", "ncell"))
)
data1 %>%
as_tibble() %>%
mutate(ncell = as.numeric(ncell)) %>%
ggplot(aes(number_gRNA, ncell)) +
geom_col(width = 0.4, fill = "#56B4E9", colour = "black") +
ggtitle("sgRNA distribution")
https://stackoverflow.com/questions/56226765
复制相似问题