R 我能';t获取scale_x_离散(限制)以重新排列我的轴

R 我能';t获取scale_x_离散(限制)以重新排列我的轴,r,ggplot2,R,Ggplot2,我正在使用代码: library(ggplot2) library(reshape2) hslresto <- read.delim("HSL_Resto.txt", header = TRUE, sep = "\t") hslrestomelted <- melt(hslresto, id.vars = c("HSL")) colnames(hslrestomelted) colnames(hslrestomelted) <- c("HSL", "Treatment",

我正在使用代码:

library(ggplot2)
library(reshape2)

hslresto <- read.delim("HSL_Resto.txt", header = TRUE, sep = "\t")
hslrestomelted <- melt(hslresto, id.vars = c("HSL"))

colnames(hslrestomelted)
colnames(hslrestomelted) <- c("HSL", "Treatment", "Index")

HSLplot <- ggplot(hslrestomelted, aes(HSL, Index, fill=Treatment)) + geom_bar(stat="identity", position=position_dodge(), show.legend = TRUE,scale_x_discrete(limits=c("Control", "10 mM C6", "100 mM C6", "1000 mM C6", "10 mM C10", "100 mM C10", "1000 mM C10")))


HSLplot
库(ggplot2)
图书馆(E2)

hslresto我认为如果你将HSL转换为一个因子(指定级别),它将以你想要的方式绘制。例如:

levs <- c("Control", "10 mM C6", "100 mM C6", "1000 mM C6", "10 mM C10", "100 mM C10", "1000 mM C10")

hslrestomelted$HSL <- factor(hslrestomelted$HSL, levels = lev)

levs我认为如果你将HSL转换为一个因子(指定级别),它将以你想要的方式绘制。例如:

levs <- c("Control", "10 mM C6", "100 mM C6", "1000 mM C6", "10 mM C10", "100 mM C10", "1000 mM C10")

hslrestomelted$HSL <- factor(hslrestomelted$HSL, levels = lev)

levs您可能还需要
ordered=TRUE
作为
factor
的参数来始终维护序列您可能还需要
ordered=TRUE
作为
factor
的参数来始终维护序列