11

私はcorrplotで以下を使用しています:

require("corrplot") ## needs the corrplot package
corrplot(cor(lpp_axis1, lpp_axis2), method=c("number"), bg = "grey10",
         addgrid.col = "gray50", tl.offset = 2, tl.cex=2,
         tl.col = "black", 
         col = colorRampPalette(c("yellow","green","navyblue"))(100))

これは、ここで入手できる csv ファイルで作成されます。

グラフは問題なく、必要なだけ cl ラベルを調整できます。x 軸と y 軸のラベルを調整してみましたが、影響はありません。mar の変更を検討しましたが、方法が見つかりませんでした。cex.label を使用してサイズを変更しようとして失敗しました。

質問 - corrplot (cl ではなく、グリッドではない) に表示されるテキストを大きくするにはどうすればよいですか?

2 つの軸は、次のデータ フレームです。

lpp_axis1 <- data.frame("Compile Source Code" = Q3A.1, "View Source Code" = Q3A.2, "Change Source Code" = Q3A.3, "Write Documentation" = Q3A.8, "File Bug Reports"= Q3B.3, "Ask Questions" = Q3B.5, "Provide Answers" = Q3B.6, "Overall Participation" = Q3a3bConsolidated)

lpp_axis2 <- data.frame("Identification" = Q1,"Overall Learning" = Q6Consolidated,  "Learning Programming" = Q6.1,  "Learning about Computers" = Q6.2, "Learning Teamwork" =  Q6.3)

からの出力

str(lpp_axis1)

> str(lpp_axis1)
'data.frame':   4603 obs. of  8 variables:
 $ Compile.Source.Code  : int  4 2 3 2 2 2 3 2 2 0 ...
 $ View.Source.Code     : int  4 2 1 1 2 2 3 1 1 0 ...
 $ Change.Source.Code   : int  4 1 0 1 2 1 2 1 1 0 ...
 $ Write.Documentation  : int  4 1 2 2 3 0 3 0 1 0 ...
 $ File.Bug.Reports     : int  4 4 1 2 2 0 2 0 0 0 ...
 $ Ask.Questions        : int  4 4 2 4 2 1 2 1 3 0 ...
 $ Provide.Answers      : int  2 4 1 4 4 0 3 1 3 0 ...
 $ Overall.Participation: int  49 26 14 32 31 8 27 10 15 0 ...

からの出力

packageDescription("corrplot")

示します:

Package: corrplot
Type: Package
Title: visualization of a correlation matrix
Version: 0.30
Date: 2010-05-30
Author: Taiyun Wei
Suggests: seriation, cairoDevice, Cairo,
Maintainer: Taiyun Wei <weitaiyun@gmail.com>
Description: The corrplot package is a graphical display of a
        correlation matrix, confidence interval. It also contains some
        algorithms to do matrix reordering.
License: GPL-2 | GPL-3
LazyLoad: yes
URL: http://corrplot.r-forge.r-project.org
Repository: CRAN
Repository/R-Forge/Project: corrplot
Repository/R-Forge/Revision: 45
Date/Publication: 2010-05-31 07:44:14
Packaged: 2010-05-30 20:39:16 UTC; rforge
Built: R 2.11.1; ; 2011-03-19 00:22:49 UTC; unix

-- File: /home/user/R/x86_64-pc-linux-gnu-library/2.11/corrplot/Meta/package.rds 
> 

corrplot メンテナーは、ここで入手可能な代替の corrplot.r で返信しました

このグラフと以下のサンプル コードを使用すると、テキスト サイズは許容範囲内です。ただし、それを増加させようとしても、同じ効果が生じます。

source("http://misterdavis.org/R_info/corrplot.r")
corrplot(cor(lpp_axis1, lpp_axis2), addn=T,
         addgrid.col = "gray50", tl.cex=2, assign.col="min2max",
         tl.col = "black", cl.ratio=0.4, addcolor="no",
         col = colorRampPalette(c("yellow","green","blue"))(100))

ここで入手できる以前のバージョンの相関円を使用すると、テキストを自分の好みに合わせて調整することができます。(ただし、グラフには、後のより洗練された corrplot パッケージの機能の一部が欠けています。) cex は cex に使用できます。時間が許せば、この 2 つを微調整して、幸せな媒体を見つけようとするかもしれません。

次のコードは、古い相関円スクリプトを使用して、十分に大きな X 軸と Y 軸のラベルを生成します。

circle.corr(cor(lpp_axis1, lpp_axis2), bg = "gray50",   col = colorRampPalette(c("navyblue","white", "red"))(100), cex=1.5)
4

3 に答える 3

14

Update2

コードとデータが提供されているおかげで、実際には実際に再現可能な例になりました。

d1 <- read.csv(url("http://misterdavis.org/r_wiki/r_results_1231_2010"))
lpp_axis1 <- with(d1, data.frame("Compile Source Code" = Q3A.1,
                                 "View Source Code" = Q3A.2,
                                 "Change Source Code" = Q3A.3, 
                                 "Write Documentation" = Q3A.8, 
                                 "File Bug Reports"= Q3B.3,
                                 "Ask Questions" = Q3B.5,
                                 "Provide Answers" = Q3B.6,
                                 "Overall Participation" = Q3a3bConsolidated))

lpp_axis2 <- with(d1, data.frame("Identification" = Q1,
                                 "Overall Learning" = Q6Consolidated,  
                                 "Learning Programming" = Q6.1,
                                 "Learning about Computers" = Q6.2, 
                                 "Learning Teamwork" =  Q6.3))

corrplot(cor(lpp_axis1, lpp_axis2), method=c("number"), bg = "grey10",
         addgrid.col = "gray50", tl.cex=1,
         tl.col = "black", 
         col = colorRampPalette(c("yellow","green","navyblue"))(100))
dev.new()
corrplot(cor(lpp_axis1, lpp_axis2), method=c("number"), bg = "grey10",
         addgrid.col = "gray50", tl.cex=2,
         tl.col = "black", 
         col = colorRampPalette(c("yellow","green","navyblue"))(100))

を使用dev.new()すると、プロット領域を 2 つのパネルに分割することなく、両方を同時に画面に表示して比較できます。

価値があるよりも多くのtl.offset問題を引き起こすように思われるので、私はそれを省略しました. 以下の2つの図を含めます。

tl.cex = 1

tl.cex = 1 の corrplot

tl.cex = 2

tl.cex = 2 の corrplot

ご覧のとおり、私はあなたが見ている問題を再現できません。tl.cex軸ラベルのサイズのみを変更しています。これは使用していませんtl.offsetが、プロットコードの残りの部分はあなたのものと同じであることに注意してください。

これは私が得るものですpackageDescription()

R> packageDescription("corrplot")
Package: corrplot
Type: Package
Title: visualization of a correlation matrix
Version: 0.30
Date: 2010-05-30
Author: Taiyun Wei
Suggests: seriation, cairoDevice, Cairo,
Maintainer: Taiyun Wei <weitaiyun@gmail.com>
Description: The corrplot package is a graphical display of a
        correlation matrix, confidence interval. It also contains some
        algorithms to do matrix reordering.
License: GPL-2 | GPL-3
LazyLoad: yes
URL: http://corrplot.r-forge.r-project.org
Repository: CRAN
Repository/R-Forge/Project: corrplot
Repository/R-Forge/Revision: 45
Date/Publication: 2010-05-31 07:44:14
Packaged: 2010-05-30 20:39:16 UTC; rforge
Built: R 2.13.0; ; 2011-04-01 12:33:21 UTC; unix

-- ファイル: /home/gavin/R/libs/corrplot/Meta/package.rds

システム上のものと比較し、上記の例を試してみてください。比較のためにまったく同じコードを実行しています。


元の例 再現可能な例を次に示します。

require(corrplot)
data(mtcars)
corr <- cor(mtcars)
corrplot(corr, method = "number", tl.cex = 2)

アップデート

わかりました、問題がわかりました。を使用tl.offsetすると、ラベルを関連付けグラフィックから余白に押し出します。これは、ラベルに合わせて相関グラフィックをスケーリングするようにcorrplot()設定しないと、不都合のバグのようです。tl.offset私が見ることができる唯一の解決策は、まったく設定tl.offsetしないか、より小さな値に設定することです。極端な例を次に示します。

layout(matrix(1:2, ncol = 2))
corrplot(corr, method = "number", tl.cex = 2, tl.offset = 3)
corrplot(corr, method = "number", tl.cex = 2)
layout(1)

プロット 4

プロット デバイスの相対的な寸法を変更することで改善できます。画面上にある場合は、すべてのラベルが表示されるまで、プロット デバイス ウィンドウの幅または高さ (または両方) を大きくします。これが別のデバイス (pdf()またはpng()言う) である場合は、作成時にデバイスの寸法を変更する必要があります。


[再現可能な例]が与えるオリジナル:

mtcars 相関プロット

x 軸と y 軸のラベルの問題は明確ではありませんがcorrplot()、ラベルに対応するようにプロットの余白を変更します。引数 を設定することにより、これらの x 軸ラベルと y 軸ラベルの相対的なサイズを既に指定していますtl.cex = 2。ラベルを大きくしたい場合は、この値を増やしてください:

corrplot(corr, method = "number", tl.cex = 4)

mtcars 相関プロット 2

小さいラベルが必要な場合はtl.cex、小さい値に設定します。

corrplot(corr, method = "number", tl.cex = 0.8)

mtcars 相関プロット 3

これらがプロット上の唯一の xとy ラベルだとすると、これは役に立ちますか? そうでない場合、どのラベルを変更する必要がありますか?

于 2011-03-19T14:03:21.857 に答える
3

テキストのポイントサイズをparで変更してみてください。デフォルトのサイズは12だと思います。前
のように行を追加すると、テキストが大きくなるはずです。par( ps=14)corrplot

于 2011-03-19T12:52:10.033 に答える
3

追加した例を考えると、プロットの次元を増やし、ラベルの長さに対応するように外側の余白を設定する必要がある場合があります。

par()$pin現在のプロットの次元にはで、外側のマージンにはでアクセスできます par()$omi

次の例を適用して、プロットの寸法と外側の余白を変更できます。

require("corrplot")         ## needs the corrplot package  
data(mtcars)  
  corr <- cor(mtcars)    
par(pin=c(7,7))              ##  (width, height) in inches    
par(omi=c(0,1,1,0.5))        ## (bottom, left, top, right)  in inches  
corrplot(corr, method="number", tl.cex = 2)

ここに画像の説明を入力


于 2011-03-20T18:03:48.160 に答える