2016-02-02 30 views
5

ggplot grafiğine ggplotly() kullanılırken bir sorun yaşıyorum: y ekseni kayboluyor. İşte iris veri kümesini kullanarak tekrarlanabilir örneği (bu örnek oldukça döküm olmakla birlikte, her ne)ggplot2 + plotly: Eksen başlığı yok

data(iris) 
g = ggplot(data = iris, aes(x = Petal.Length, y = Petal.Width, fill = Species)) + 
    geom_bar(stat = "identity", position = "dodge") + 
    scale_fill_manual(name = "legend", values = c("blue", "red", "green")) + 
    ylab("Y title") + 
    ylim(c(0,3)) + 
    xlab("X title") + 
    ggtitle("Main title") 
g 
ggplotly(g) 

Gördüğünüz gibi var, Y ekseni başlığı kayboldu.

ylim silinirse çalışır, ancak y sınırlarını belirtmek isterim.

aşağıdaki yapmaya çalıştım:

data(iris) 
g = ggplot(data = iris, aes(x = Petal.Length, y = Petal.Width, fill = Species)) + 
    geom_bar(stat = "identity", position = "dodge") + 
    scale_fill_manual(name = "legend", values = c("blue", "red", "green")) + 
    scale_y_continuous(name = "Y title", limits = c(0, 3)) + 
    xlab("X title") + 
    ggtitle("Main title") 
g 
ggplotly(g) 

Ama şimdi uymuyor efsane unvan.

Benim yapılandırma: R 3.2.0, plotly 2.0.16, ggplot tarafından verilen grafik ne istiyorum, ama ggplotly başka bir şey verir Her iki örnekte de 2.0.0

ggplot2. Bu bir sorun mu, bir çözüm var mı?

cevap

7

Niçin olduğundan emin değilim ama işte bir iş. Ne istediğini sana verecek.

p <- ggplotly(g) 
x <- list(
    title = "X Title" 
) 
y <- list(
    title = "Y Title" 
) 
p %>% layout(xaxis = x, yaxis = y) 
+0

Bu durum, daha da kötüler için daha da kötüdür – marbel

2

Benzer bir sorunla karşılaşıyordum. Ggplotly ile itilen bir ggplot nesnesi, y-ekseni etiketinin [Parlak uygulamasında] kırpılmasını gösteriyordu.

Bunu düzeltmek için, MLavoie'nin önerdiği şeyi yaptım ama sonra benim ggplot etiketlerim ve ggplotly etiketlerim vardı. Bunu düzeltmek için ggplot etiketlerini boşluklara ve çalıştığım her şeye ayarladım (eğer hiçbir şeye ayarlamazsanız, arsadaki etiketler eksen kene işaretleriyle çakışacaktır).

p <- ggplotly(g + ylab(" ") + xlab(" ")) 
x <- list(
    title = "X Title" 
) 
y <- list(
    title = "Y Title" 
) 
p %>% layout(xaxis = x, yaxis = y)