我想整理我的ggplot散點圖的標籤,使標籤不相互重疊的直接標籤庫。爲此,我試圖使用直接標籤庫,但是我無法使其正常工作。當我試圖代碼:Rearanging ggplot散點圖的標籤與R中
mytable <- read.csv('http://www.fileden.com/files/2012/12/10/3375236/My%20Documents/CF1_deNovoAssembly.csv', sep=",", header=TRUE)
mytable$Consensus.length <- log(mytable$Consensus.length)
mytable$Average.coverage <-log(mytable$Average.coverage)
mytable$Name <- do.call(rbind,strsplit(as.character(mytable$Name), " ", '['))[,3]
ggplot(mytable, aes(x=Consensus.length, y=Average.coverage, label=Name)) + geom_point() + ylab("Contig Average Coverage (log)") + xlab("Contig Consensus Length (log)") + opts(title="Contig Coverage vs Length") + geom_text(hjust=0, vjust=-0.2, size=4)
direct.label(p, "first.qp")
我得到這個錯誤:
Error in direct.label.ggplot(p, "first.qp") :
Need colour aesthetic to infer default direct labels.
所以我加入AES到geom_point()
ggplot(mytable, aes(x=Consensus.length, y=Average.coverage, label=Name)) + geom_point(aes(colour=Average.coverage)) + ylab("Contig Average Coverage (log)") + xlab("Contig Consensus Length (log)") + opts(title="Contig Coverage vs Length") + geom_text(hjust=0, vjust=-0.2, size=4)
改變繪圖劇本,現在我得到以下錯誤
Error in order.labels(d) : labels are not aligned
我發現this thread,他們建議如果數據點太多,隻手動放置標籤,或者根本不放置標籤。我同意這一點,但我將用許多不同的數據集生成此圖,我確實需要數據標籤。到目前爲止,這是圖表的外觀
每個標籤(172和165)之間的差異是否有意義?我在問,因爲你可以使用基於這些數字減少的色階。例如,將它們分成10個或20個組。例如,如果它們表示地理或其他可測量距離的東西。 –
另一個步驟可能是去掉點,僅積的數字(在這種情況下,你將要設置'hjust'和'vjust' 0.5。 但我認爲最終是沒有辦法讓所有在場的標籤,並且不重疊,並且字體很大 - 太多的數據點太靠近彼此。 –
@BrandonBertelsen本身並沒有意義上的差異,但我想知道172和165在哪裏。例如,我想確定y軸中4.5到5.5之間的數據點組中的哪些數據點羣集。 –