一些想法:
- 使用用於Y軸的標籤,例如更小的字體大小
scale=list(y=list(cex=.6))
。另一種方法是保留統一的字體大小,但是在多個頁面上分開輸出(可以用layout=
來控制),或者更好地顯示來自同一數據集的所有數據(從A到F,因此每個算法有4個點)或採用group=
選項的樣本大小(10到100,因此每個算法有6個點)。我個人會爲此創建兩個因素,sample.size
和dataset.type
。
顯示您的因子Dataset
,以便您感興趣的數據集出現在layout
將放置它們的位置,或(更好)使用index.cond
爲您的24個面板指定特定排列。例如,
dfrm <- data.frame(algo=gl(11, 1, 11*24, labels=paste("algo", 1:11, sep="")),
type=gl(24, 11, 11*24, labels=paste("type", 1:24, sep="")),
roc=runif(11*24))
p <- dotplot(algo ~ roc | type, dfrm, layout=c(4,6), scale=list(y=list(cex=.4)))
將安排按順序面板,從底部左(在右上面板左下面板,type24
type1
)到右上,而
update(p, index.cond=list(24:1))
將安排在反向板訂購。只需指定一個list
與預期的面板位置。
這裏是我心目中有1點的例子和使用兩個方面因素,而不是一個。讓我們產生另一人爲數據集:
dfrm <- data.frame(algo=gl(11, 1, 11*24, labels=paste("algo", 1:11, sep="")),
dataset=gl(6, 11, 11*24, labels=LETTERS[1:6]),
ssize=gl(4, 11*6, 11*24, labels=c(10,25,50,100)),
roc=runif(11*24))
xtabs(~ dataset + ssize, dfrm) # to check allocation of factor levels
dotplot(algo ~ roc | dataset, data=dfrm, group=ssize, type="l",
auto.key=list(space="top", column=4, cex=.8, title="Sample size",
cex.title=1, lines=TRUE, points=FALSE))
來源
2012-03-14 11:44:05
chl
非常感謝CHL!我非常感謝你的幫助。編輯結束後,我還沒有嘗試過您的評論,但您的原始建議像魅力一樣起作用。儘管y軸上的標籤非常小。我必須找出一種方法使它們更具可讀性。我在原始文章中沒有說明的一件事是,數據集名稱中的字母后面的數字不表示大小,而是數據中的信號量。 A100是全部信號且無噪音,但A10的噪音爲90%,信號爲10%。數據集大小相同。許多人再次感謝。 – user765195 2012-03-15 01:44:34