R 设置条形图之间的固定间距
我有这个代码来绘制我的图形,但我需要在x轴上设置一个固定距离的断点 我需要如何更改此代码R 设置条形图之间的固定间距,r,ggplot2,R,Ggplot2,我有这个代码来绘制我的图形,但我需要在x轴上设置一个固定距离的断点 我需要如何更改此代码 data1 <- as.matrix(read.table('$INPUT_FILE1', header = T)); data1.experiment <- as.numeric(data1[,\"Experiment\"]); data1.obs <- as.numeric(data1[,\"Mean\"]); data1.method <- as.factor(data1[,\
data1 <- as.matrix(read.table('$INPUT_FILE1', header = T));
data1.experiment <- as.numeric(data1[,\"Experiment\"]);
data1.obs <- as.numeric(data1[,\"Mean\"]);
data1.method <- as.factor(data1[,\"Method\"]);
df <- data.frame(data1.experiment, data1.method, data1.obs);
orderlist = c("5", "10", "20", "40", "60", "80");
ggplot(df, aes(x = data1.experiment, y = data1.obs, fill = data1.method), ylim=c(0, 380))+geom_bar(stat='identity', position='dodge')+labs(x='$xlabel',y='$ylabel', fill='')+scale_fill_manual(values = c('indianred3','skyblue'), labels = c('DTB-MAC', 'IEEE802.11P'))+scale_y_continuous(limits = c(0, 380))+theme_bw()+theme( panel.grid.major = element_line(colour = 'grey'), panel.border = element_rect(colour = 'black'), axis.line = element_blank(), panel.background = element_blank(), legend.direction='horizontal', legend.position = c(0, 1), legend.justification = c(0, 1), legend.background = element_rect(colour = NA));
我需要的结果是x轴,标题为
5,10,20,40,60,80
,但它们之间的间距相同。您只需将x值设置为一个因子即可
这是你的数据
data1<-data.frame(
Experiment = c(5, 10, 20, 40, 60, 80, 5,
10, 20, 40, 60, 80),
Method = c("IEEE802.11P", "IEEE802.11P", "IEEE802.11P",
"IEEE802.11P", "IEEE802.11P", "IEEE802.11P", "DTB-MAC",
"DTB-MAC", "DTB-MAC", "DTB-MAC", "DTB-MAC", "DTB-MAC"),
Mean = c(73.692058824, 36.846029412, 109.911111111,
238.427111111, 326.812469136, 372.041388889, 7.470588235,
27.014705882, 84.032148148, 177.680148148, 244.599555556,
286.52462963)
)
得到
您的某个地方缺少引号。我们无法访问您的数据,因此无法确切知道绘制的内容。另外,你的代码中似乎有奇怪的转义,这会使复制和粘贴到R中变得困难。请编辑你的问题,使其包含一个我不知道到底是什么问题,但当我将x设置为因子R时,在x轴上放置5个断点,在40之后,不按顺序。然后听起来你的实验值可能是一些字符原因?您正确导入了吗?您可以使用上面定义的
orderlist
变量显式设置因子(Experiement,levels=orderlist)
。
data1<-data.frame(
Experiment = c(5, 10, 20, 40, 60, 80, 5,
10, 20, 40, 60, 80),
Method = c("IEEE802.11P", "IEEE802.11P", "IEEE802.11P",
"IEEE802.11P", "IEEE802.11P", "IEEE802.11P", "DTB-MAC",
"DTB-MAC", "DTB-MAC", "DTB-MAC", "DTB-MAC", "DTB-MAC"),
Mean = c(73.692058824, 36.846029412, 109.911111111,
238.427111111, 326.812469136, 372.041388889, 7.470588235,
27.014705882, 84.032148148, 177.680148148, 244.599555556,
286.52462963)
)
library(ggplot2)
ggplot(data1, aes(x = factor(Experiment), y = Mean, fill =factor(Method))) +
ylim(c(0,380)) +
geom_bar(stat='identity', position='dodge')+
labs(x='$xlabel',y='$ylabel', fill='')+
scale_fill_manual(values = c('indianred3','skyblue'), labels = c('DTB-MAC', 'IEEE802.11P'))+
scale_y_continuous(limits = c(0, 380))+
theme_bw()+
theme(
panel.grid.major = element_line(colour = 'grey'),
panel.border = element_rect(colour = 'black'),
axis.line = element_blank(),
panel.background = element_blank(),
legend.direction='horizontal',
legend.position = c(0, 1), legend.justification = c(0, 1),
legend.background = element_rect(colour = NA));