2016-04-05 22 views
1

ggplot2 ürününü geom_tile kullanarak bir ısı haritası yazdırmaya çalışıyorum ve plotly paketini kullanarak görüntülemeye çalışıyorum ancak bazı beklenmedik davranışlar alıyorum.Plotly ve geom_tile kullanarak beklenmeyen çıktı

https://plot.ly/ggplot2/geom_tile/

kolaylaştırmak için plotly web sitesindeki bir tekrarlanabilir bir örnek vardır, burada kodu yapıştırın: Web sitesine göre

library(plotly) 
library(reshape2) 

p <- volcano %>% 
    melt() %>% 
    ggplot(aes(Var1, Var2, fill = value)) + geom_tile() 

ggplotly(p) 

, böyle bir şey almam gerekiyordu:

The supposed output according to the website

Ama olsun sonuç bir sonraki biridir:

Bana sorun plotly olduğunu düşündürüyor

The result I get with ggplot

:

The result I get with plotly

komik şey sonucunu almak Ben print(p) ile ggplot nesneyi p yazdırmak eğer almak gerekiyordu olmasıdır ve ggplot değil.

ggplot ve plotly kullanarak diğer örneklerden kodu çalıştırdım ve her şey mükemmel çalışıyor, sorun geom_tile ile görünüyor.

Benim SessionInfo() geçerli:

R version 3.2.4 Revised (2016-03-16 r70336) 
Platform: x86_64-pc-linux-gnu (64-bit) 
Running under: Ubuntu 15.10 

Ve ggplot bir plotly sürümleri şunlardır:

  • ggplot2: plotly 2.1.0
  • : 3.4.1

ben ayrıca bu kodu bir Mac ile test etti ve aynı beklenmedik yeniden elde etti mının olumlu sonuçlar.

+0

I (işe yaramadı) ve plotly eski bir sürümü ile plotly 3.4.1 ile çalıştı (2.something; işe yaradı) . Yani ilk bakışta, komploda bir böcek gibi görünüyor. Birisi doğrulayabilirse, bu harika olurdu. – Laterow

+0

Evet, 2.0.16 sürümünü yükledim ve iyi çalışıyor. Sanırım bu konuyu komplodaki web sitesinde ya da başka bir yerde yayınlayacağım. –

cevap

0

Yani, bu üç olası çözümleri bulundu: Laterow gibi

  1. 2.0.16 versiyonu işlerin sürümüne indirmek söyledi.
  2. plotly numaralı kişiler, geliştirme sürüm 3.4.13'ü devtools::install_github('ropensci/plotly') ile yüklemenin bunu düzeltmem gerektiğini söyledi. Denedim ve işe yarıyor.
  3. Orijinal verilerinin aktarılması ve aes'daki değişkenlerin sırasının değiştirilmesi geom_tile da çalışır.

üçüncü çözümü için kod şöyle olacaktır:

p <- t(volcano) %>% 
melt() %>% 
ggplot(aes(x=Var2, y=Var1)) + geom_tile(aes(fill=value)) 
ggplotly(p) 
İlgili konular