结合dotplot R.

时间:2016-03-14 18:01:09

标签: r plot

我试图将两个图组合成R中的同一个图。 我的代码如下所示:

#----------------------------------------------------------------------------------------#
# RING data: Mikkel
#----------------------------------------------------------------------------------------#
# Set working directory
setwd("/Users/mikkelastrup/Dropbox/Master/RING R")

#### Read data & Converting factors ####
dat <- read.table("R SUM kopi.txt", header=TRUE)  
str(dat)
dat$Vial <- as.factor(dat$Vial)
dat$Line <- as.factor(dat$Line)
dat$rep <- as.factor(dat$rep)
dat$fly <- as.factor(dat$fly)  
str(dat)

mtdata <- droplevels(dat[dat$Line=="20",])
mt1data <- droplevels(mtdata[mtdata$rep=="1",])

tdata <- melt(mt1data, id=c("rep","Conc","Sex","Line","Vial", "fly"))
tdata$variable <- as.factor(tdata$variable)
tfdata <- droplevels(tdata[tdata$Sex=="f",])
tmdata <- droplevels(tdata[tdata$Sex=="m",])

####Plotting####

d1 <- dotplot(tfdata$value~tdata$variable|tdata$Conc, 
        main="Y Position over time Line 20 Female",
        xlab="Time", ylab="mm above buttom")
d2 <- dotplot(tmdata$value~tdata$variable|tdata$Conc, 
        main="Y Position over time Line 20 Male",
        xlab="Time", ylab="mm above buttom")

grid.arrange(d1,d2,ncol=2)

看起来像这样: enter image description here

我试图把它组合成一个情节,男性和女性有两种不同的颜色,我试图将它写成一个由a和/或()分隔的点图,但这不会起作用,当我不分裂时数据和使用tdata而不是tfdata和tfmdata我得到相同颜色的所有点。我愿意接受建议,使用另一个包或其他方式绘制数据,这些数据看起来仍然有点像这样,因为我是R的新手

1 个答案:

答案 0 :(得分:4)

您需要做的就是使用group参数。

dotplot(value~variable|Conc, group=Sex, data=tdata,
        main="Y Position over time Line 20 All",
        xlab="Time", ylab="mm above buttom")

另外,请勿在这些功能中使用$表示法;请注意,您使用value中的tfdata valuevariabletdata来自tdata。这是一个问题,因为data中的行数是其两倍!相反,使用$("#add_certificate_form").on("submit", function() { var formData = new FormData($(this)[0]); $.ajax({ xhr: function () { var xhr = new window.XMLHttpRequest(); xhr.upload.addEventListener("progress", function (evt) { if (evt.lengthComputable) { var percentComplete = evt.loaded / evt.total; console.log(percentComplete); $('.progress').css({ width: percentComplete * 100 + '%' }); if (percentComplete === 1) { $('.progress').addClass('hide'); } } }, false); xhr.addEventListener("progress", function (evt) { if (evt.lengthComputable) { var percentComplete = evt.loaded / evt.total; console.log(percentComplete); $('.progress').css({ width: percentComplete * 100 + '%' }); } }, false); return xhr; }, url: '<?php echo Config::get('URL'); ?>certificates/add_certificate_action', type: 'POST', data: formData, dataType: 'json', success: function (data) { if(!data.success){ $.notify(data.error,{ className:'error', clickToHide: true, autoHide: true, globalPosition: 'bottom right' }); //var formData = false; }else{ $.notify(data.success,{ className:'success', clickToHide: true, autoHide: true, globalPosition: 'bottom right' }); $.ajax({ url:'<?php echo Config::get('URL'); ?>user/edit_profile', type:'GET', headers: {'X-Requested-With': 'XMLHttpRequest'}, success: function(data){ $('#content').html(data); $("#general").attr("class", "tab-pane"); $("#general_tab").attr("class", ""); $("#certificate_tab").attr("class", "active"); $("#certificates").attr("class", "tab-pane active"); } }); } } }); return false; }); 参数指定从哪个数据帧获取变量。