R 重新调整ggplot中的水平轴
我有一个简单的数据集,包含从0到1的值。当我绘制它时,水平轴自然是零。我希望此参考值为0.5,低于0.5的条形图应反转,颜色与低于此阈值的条形图不同R 重新调整ggplot中的水平轴,r,ggplot2,geom-bar,R,Ggplot2,Geom Bar,我有一个简单的数据集,包含从0到1的值。当我绘制它时,水平轴自然是零。我希望此参考值为0.5,低于0.5的条形图应反转,颜色与低于此阈值的条形图不同 my.df <- data.frame(group=state.name[1:20],col1 = runif(20)) p <- ggplot(my.df, aes(x=group,y=col1)) + geom_bar(stat="identity")+ylim(0,0.5) my.df您试图传达的y变量距离为0.5,因此您需
my.df <- data.frame(group=state.name[1:20],col1 = runif(20))
p <- ggplot(my.df, aes(x=group,y=col1)) +
geom_bar(stat="identity")+ylim(0,0.5)
my.df您试图传达的y变量距离为0.5,因此您需要更改col1中的值以反映这一点
library(dplyr)
library(ggplot)
my.df %>%
mutate(col2 = col1-0.5) %>%
ggplot() +
aes(x = group, y = col2, fill = col2 >=0) +
geom_bar(stat = 'identity') +
theme(legend.position = 'none',
axis.text.x = element_text(angle = 90, vjust = 0.5, hjust = 1)) +
ylab('Col1 above 0.5 (AU)')
注意,您还可以使用aes(fill=col1>=0.5)
选项对条形图进行颜色编码,而不移动轴(如果col1包含百分比,这是我的建议)。您尝试传达的y变量是距离0.5,因此您需要更改col1中的值以反映这一点
library(dplyr)
library(ggplot)
my.df %>%
mutate(col2 = col1-0.5) %>%
ggplot() +
aes(x = group, y = col2, fill = col2 >=0) +
geom_bar(stat = 'identity') +
theme(legend.position = 'none',
axis.text.x = element_text(angle = 90, vjust = 0.5, hjust = 1)) +
ylab('Col1 above 0.5 (AU)')
注意,您还可以使用aes(fill=col1>=0.5)选项对条形图进行颜色编码,而无需移动轴(如果col1包含百分比,这是我的建议)。要基于的答案,您可以从col1变量中减去0.5,然后重命名y轴上的标签
df%ggplot(aes(重新排序(组,值),值-0.5))+geom_条(stat='identity')+
比例y离散(name='Value',
标签=c('0','0.5','1'),
限值=c(-0.5,0,0.5),
扩展=c(-0.55,0.55))+
xlab(‘状态’)+
主题(axis.text.x=元素\文本(角度=45,hjust=1))
要基于的答案,可以从col1变量中减去0.5,然后重命名y轴上的标签
df%ggplot(aes(重新排序(组,值),值-0.5))+geom_条(stat='identity')+
比例y离散(name='Value',
标签=c('0','0.5','1'),
限值=c(-0.5,0,0.5),
扩展=c(-0.55,0.55))+
xlab(‘状态’)+
主题(axis.text.x=元素\文本(角度=45,hjust=1))
我认为这个答案应该对你有用我认为这个答案应该对你有用