这是我在R中创建一个箱形图的代码,其中包含4个箱图。
psnr_x265_256 <- c(39.998,39.998, 40.766, 38.507,38.224,40.666,38.329,40.218,44.746,38.222)
psnr_x264_256 <- c(39.653, 38.106,37.794,36.13,36.808,41.991,36.718,39.26,46.071,36.677)
psnr_xvid_256 <- c(33.04564,33.207269,32.715427,32.104696,30.445141,33.135261,32.669766, 31.657039,31.53103,31.585865)
psnr_mpeg2_256 <- c(32.4198,32.055051,31.424819,30.560274,30.740421,32.484694, 32.512268,32.04659,32.345848, 31)
all_errors = cbind(psnr_x265_256, psnr_x264_256, psnr_xvid_256,psnr_mpeg2_256)
modes = cbind(rep("PSNR",10))
journal_linear_data <-data.frame(psnr_x265_256, psnr_x264_256, psnr_xvid_256,psnr_mpeg2_256)
yvars <- c("psnr_x265_256","psnr_x264_256","psnr_xvid_256","psnr_mpeg2_256")
xvars <- c("x265","x264","xvid","mpeg2")
bmp(filename="boxplot_PSNR_256.bmp")
boxplot(journal_linear_data[,yvars], xlab=xvars, ylab="PSNR")
dev.off()
这是我得到的图像。
我想在x轴"x265","x264","xvid","mpeg2"
中为每个箱图绘制相应的值。
你知道如何解决这个问题吗?
答案 0 :(得分:1)
有多种方法可以更改boxplot变量的标签。可能最简单的方法是更改数据框的列名:
colnames(journal_linear_data) <- c("x265","x264","xvid","mpeg2")
更简单:您也可以在创建数据框时执行此操作:
journal_linear_data <- data.frame(x265=psnr_x265_256, x264=psnr_x264_256, xvid=psnr_xvid_256, mpeg2=psnr_mpeg2_256)
如果由于空间太小而遇到标签未显示或重叠的问题,请尝试使用las
参数旋转x标签,例如las=2
或las=3
。