2017-04-17 8 views
0

私はGGallyパッケージ(およびggpairsメソッド)を使用して散布図マトリックスを作成しています。ggplotly()内の密度と相関値がggplotly()内で左にシフト

静的バージョン(以下のオブジェクトp)は、正確な中心の相関値と密度を持つように見えます。下の画像は、これを示し -

Static image

しかし、インタラクティブバージョン(以下オブジェクトGGPS)が誤っ中心相関値及び密度を有するように見えます。すなわち、それらは左側に中心があるように見えます。下の画像は、このことを実証 -

Interactive image

この問題を解決するための良い方法があるかもしれませんかしら?サイドノートとして

library(plotly) 
library(GGally) 

set.seed(2) 
dat <- data.frame(ID = paste0("ID",1:100), A.1=sort(rnorm(100)), A.2=sort(rnorm(100)), A.3=sort(rnorm(100)), B.1=sort(rnorm(100)), B.2=sort(rnorm(100))) 

dat$ID <- as.character(dat$ID) 
minVal = 0 
maxVal = max(dat[,-1]) 

my_fn <- function(data, mapping, ...){ 
    x = data[,c(as.character(mapping$x))] 
    y = data[,c(as.character(mapping$y))] 
    p <- ggplot(data = dat, aes(x=x, y=y)) + coord_cartesian(xlim = c(minVal, maxVal), ylim = c(minVal, maxVal)) 
    p 
} 

p <- ggpairs(dat[,-1], lower = list(continuous = my_fn)) 

ggPS <- ggplotly(p) 

、私は次のようにオブジェクトpを作成するための構文を変更することによって(GGpairs, correlation values are not aligned)に掲載ソリューションを使用してみました:

p <- ggpairs(dat[,-1], lower = list(continuous = my_fn), upper = list(continuous = wrap("cor", hjust=5))) 

しかし、これを行うために表示されませんでした差。

おすすめの投稿があります。

答えて

1

理想的には、プロットモードでレイアウト仕様を使用してモードバーのオートスケールオプションにアクセスできます。今のところ最も簡単なオプション(おそらく最適ではないかもしれません)は、1データあたり最小値/最大値の代わりにデータフレームから最小値/最大値を設定することです。

my_fn <- function(data, mapping, ...){ 
    x = data[,c(as.character(mapping$x))] 
    y = data[,c(as.character(mapping$y))] 
    p <- ggplot(data = dat, aes(x=x, y=y)) + coord_cartesian(xlim = c(min(dat[,-1]),max(dat[,-1]))) 
    p 
} 

p <- ggpairs(dat[,-1], lower = list(continuous = my_fn)) 

ggPS <- ggplotly(p) 
関連する問題