使用ggplot调整R中坡度图的步长比例

使用ggplot调整R中坡度图的步长比例,r,graph,ggplot2,rstudio,scale,R,Graph,Ggplot2,Rstudio,Scale,我正在用ggplot绘制一个坡度图,但是由于两个轴的比例,标签聚集在一起并且没有正确显示。 有什么想法吗 我的代码和图表 非常感谢 #Read file as numeric data betterlife<-read.csv("betterlife.csv",skip=4,stringsAsFactors = F) num_data <- data.frame(data.matrix(betterlife)) numeric_columns <- sapply(num_dat

我正在用ggplot绘制一个坡度图,但是由于两个轴的比例,标签聚集在一起并且没有正确显示。 有什么想法吗

我的代码和图表

非常感谢

#Read file as numeric data
betterlife<-read.csv("betterlife.csv",skip=4,stringsAsFactors = F)
num_data <- data.frame(data.matrix(betterlife))
numeric_columns <- sapply(num_data,function(x){mean(as.numeric(is.na(x)))<0.5})
final_data <- data.frame(num_data[,numeric_columns], 
betterlife[,!numeric_columns])

## rescale selected columns data frame
final_data <- data.frame(lapply(final_data[,c(3,4,5,6,7,10,11)], function(x) scale(x, center = FALSE, scale = max(x, na.rm = TRUE)/100)))

## Add country names as indicator
final_data["INDICATOR"] <- NA 
final_data$INDICATOR <- betterlife$INDICATOR
employment.data <- final_data[5:30,]
indicator <- employment.data$INDICATOR
## Melt data to draw graph
employment.melt <- melt(employment.data)


#plot
sg = ggplot(employment.melt, aes(factor(variable), value, 
                 group = indicator, 
                 colour = indicator, 
                 label = indicator)) +
  theme(legend.position = "none", 
    axis.text.x = element_text(size=5),
    axis.text.y=element_blank(), 
    axis.title.x=element_blank(),
    axis.title.y=element_blank(),
    axis.ticks=element_blank(),
    axis.line=element_blank(),
    panel.grid.major.x = element_line("black", size = 0.1),
    panel.grid.major.y = element_blank(),
    panel.grid.minor.y = element_blank(),
    panel.background = element_blank())
# plot the right-most labels

sg1 = sg + geom_line(size=0.15) + 
  geom_text(data = subset(employment.melt, variable == "Life.expectancy"), 
        aes(x = factor(variable), label=sprintf(" %2f %s",value,INDICATOR)), size = 1.75, hjust = 0) 

# plot the left-most labels

sg1 = sg1 + geom_text(data = subset(employment.melt, variable == "Employment.rate"), 
                 aes(x = factor(variable), label=sprintf("%s %2f ",INDICATOR,value)), size = 1.75, hjust = 1)
sg1
#将文件作为数字数据读取

betterlife你是否尝试过建立一个量表,例如x(但我认为你也应该为y设置)

其中0-100为范围,5为步长。您需要根据图形调整这些值。

您所说的“调整步进比例”是什么意思?PS:欢迎来到这个网站!假设我想将标签添加到99和99.5的值,我想设置两个标签之间的最小距离,使它们不会重叠(如图所示)。告诉我这是否合理。非常感谢。
scale_x_continuous(breaks = seq(0, 100, 5))