在ggplot2中以离散比例格式化位置

时间:2013-08-13 07:20:32

标签: r ggplot2

我正在尝试在GGPlot2

中创建格式正确的2状态凹凸图表

在下面的图中,我想减小y轴和第一个因子值“old”之间的“空白区域”的大小,并将第二个值“new”右侧的空间大小增加。在真实数据中,我的文本是完整的句子,因此目前只显示第一部分。

bump chart with too much white space on left

我的代码:

old <- data.frame(Group = "old", Rank = 1:5, Text = c("Text1","Text2","Text3","Text4","Text5"))
new <- data.frame(Group = "new", Rank = c(4,2,1,5,3), Text = c("Text1","Text2","Text3","Text4","Text5"))
df <- rbind(old,new)

library(ggplot2)

ggplot(df, aes(x=Group, y= Rank, group =  Text, label = Text)) +
  geom_line() +
  scale_y_reverse() +
  geom_text(data = subset(df, Group == "new"), size=3, hjust=0) 

1 个答案:

答案 0 :(得分:3)

您可以在ggplot()调用中将x变量转换为数字,然后使用scale_x_continuous()修改轴。

ggplot(df, aes(x=as.numeric(Group), y= Rank, group =  Text, label = Text)) +
  geom_line() +
  scale_y_reverse() +
  geom_text(data = subset(df, Group == "new"), size=3, hjust=0) +
  scale_x_continuous(limits=c(0.95,5),breaks=c(1,2),labels=levels(df$Group),
                     expand=c(0,0))