[我正在尝试根据以下数据(dataframe = df)创建多个数据的条形图,这些数据的y轴的log10 y轴的非零值小于1,如下面的图像(在graphpad中创建):
No Perc Codon
1 72 ATA
2 12.7273 ATG
3 8.72727 GTG
4 0.727273 ATG
5 0.363636 GTG
6 0.363636 GTG
7 0.363636 GTG
8 0.363636 GTG
9 0.363636 GTG
10 0.363636 ATA
11 0.363636 ATA
12 0.363636 ATA
13 0.363636 ATA
14 0.363636 ATA
15 0.363636 ATA
16 0.363636 ATG
17 0.363636 ATG
18 0.363636 ATG
19 0.363636 ATG
20 0.363636 ATG
使用ggplot获取以下数据,我正在尝试根据其他问题的其他信息来创建类似的内容,以解决我的问题(无济于事)。
ggplot(data=df,aes(x=No, y=Perc, color=Codon)) + geom_bar(stat="identity") + scale_y_log10( breaks=c(0.1, 1, 10, 100), limits=c(0.1, 100), position = "top") + coord_flip() + geom_segment( aes(x=No, xend=No, y=0.01, yend=Perc))
将产生以下图像:
但是,尽管小于1,我希望条形图沿相同方向继续前进。此外,有一种方法可以将x轴重新定位到图形顶部,并重新排列数据,以使最大值在图形板生成的图像中位于顶部?
[我知道其他类似的questions已经用条形图的方向描述了类似的问题,但是没有解决方案。
对此新手的任何帮助或建议,将不胜感激。谢谢!
我正在尝试基于以下数据(dataframe = df)创建多个数据的条形图,这些数据的y轴的log10 y轴的非零值小于1,如下图所示(在graphpad中创建): 。
让我用library(scales)
提供另一个答案。
geom_bar
与scale_y_log
搭配使用效果不佳。我认为最好的前进方法是使用geom_segment
,因为您已经在尝试。请注意,您正在要求geom_segment
从0.01
开始,但是y
轴仅从0.1
开始。调整aes
可让您有所作为。怎么样: