2017-02-06 29 views
1

我需要增加用colorfulVennPlot創建的維恩圖中數字的大小,如下例所示。任何幫助是極大的讚賞。R,如何更改colorfulVennPlot中的數字大小?

library(colorfulVennPlot) 
y <- c(37,29,6,232,121,77,25) 
names(y) <- c("001","010","011","100","101","110","111") 
labels <- c("A","B","C") 
plot.new() 
plotVenn3d(y, labels, Colors=rainbow(7), Title = "This is an example of a 3D Venn plot") 

回答

1

標籤和標題可以用shrink參數進行調整。但是我沒有看到在當前版本的plotVenn3d中更改維恩圖內數字的方法。可能有一個更簡單的解決方法,但一種選擇是創建plotVenn3d函數的調整版本,並添加了一個用於調整數字大小的新參數。

要獲取功能代碼,只需在控制檯中鍵入plotVenn3d即可。將代碼複製到一個新的R腳本文件中,並給該函數一個新名稱,如myVenn。現在,到函數的最後一行,它從:

for (i in 1:7) grid.text(values[i], centerLocations[i, 1], 
    centerLocations[i, 2]) 

這樣:

for (i in 1:7) grid.text(values[i], centerLocations[i, 1], 
    centerLocations[i, 2], gp=gpar(fontsize=num.size)) 

注意,我們增加了一個新的說法num.size,設置字體大小裏面的數字維恩圖。現在回到我們聲明函數的參數上,它從:

myVenn = function (x, labels = c("A", "B", "C"), 
        Colors = c("red", "yellow", "orange", "lightblue", "purple", 
           "green", "grey"), 
        Title = NULL, shrink = 1, rot = 0) 

這個(爲了給num.size參數添加到函數聲明):

myVenn = function (x, labels = c("A", "B", "C"), 
        Colors = c("red", "yellow", "orange", "lightblue", "purple", 
           "green", "grey"), 
        Title = NULL, shrink = 1, rot = 0, num.size=20) 

運行新函數的代碼將函數加載到全局環境中。現在,您可以使用myVenn來繪製您的數據並使用num.size的值進行操作,直到獲得您喜歡的東西。

例如:

myVenn(y, labels, Colors=rainbow(7), Title = "This is an example of a 3D Venn plot", 
     num.size=50) 

enter image description here

相關問題