2017-02-02 38 views
0

这样我已经得到的数据...为什么悬停在情节条形图不起作用?

# rok miesiac ile kwartal miesiac2 kwartal2 miesiac3 limit serwis typ ile2 ile_proc lp 
# (dbl) (dbl) (dbl) (dbl) (chr) (fctr) (chr) (dbl) (chr) (chr) (dbl) (dbl) (dbl) 
# 1 2017  1 31.5  1  1 Q1 2017 Styczeń  0 Sport wizyty 32.5  97  1 
# 2 2017  2 1.0  1  2 Q1 2017  Luty  0 Sport wizyty 32.5  3  1 

...我尝试从plotly库得出这样的情节......

plot_ly(tab, 
     x = ~lp, 
     y = ~ile, 
     color = ~miesiac2, 
     type = "bar", 
     text = ~miesiac3, 
     hoverinfo = "text") 

...一切正常,但徘徊。它不起作用,我不知道为什么。当我有相同的数据格式但有点“长”时,什么都好奇,一切正常。

我不知道问题出在哪里。我希望你会!

简单的数据:

structure(list(rok = c(2017, 2017), miesiac = c(1, 2), ile = c(31.5, 
1), kwartal = c(1, 1), miesiac2 = c("1", "2"), kwartal2 = structure(c(1L, 
1L), .Label = "Q1 2017", class = "factor"), miesiac3 = c("Styczeń", 
"Luty"), limit = c(97, 97), serwis = c("Sport", "Sport"), typ = c("wizyty", 
"wizyty"), ile2 = c(32.5, 32.5), ile_proc = c(97, 3), lp = c(1, 
1)), class = "data.frame", .Names = c("rok", "miesiac", "ile", 
"kwartal", "miesiac2", "kwartal2", "miesiac3", "limit", "serwis", 
"typ", "ile2", "ile_proc", "lp"), row.names = c(NA, -2L)) 

'长' 数据:

structure(list(rok = c(2016, 2016, 2016, 2016, 2016, 2016, 2016, 
2016, 2016, 2017, 2017), miesiac = c(4, 5, 6, 7, 8, 9, 10, 11, 
12, 1, 2), ile = c(80.1, 87.5, 159, 104, 125.3, 74.2, 84.9, 74.4, 
75.3, 81.8, 2.4), kwartal = c(2, 2, 2, 3, 3, 3, 4, 4, 4, 1, 1 
), miesiac2 = c("1", "2", "3", "1", "2", "3", "1", "2", "3", 
"1", "2"), kwartal2 = structure(c(1L, 1L, 1L, 2L, 2L, 2L, 3L, 
3L, 3L, 4L, 4L), .Label = c("Q2 2016", "Q3 2016", "Q4 2016", 
"Q1 2017"), class = "factor"), miesiac3 = c("Kwiecień", "Maj", 
"Czerwiec", "Lipiec", "Sierpień", "Wrzesień", "Październik", 
"Listopad", "Grudzień", "Styczeń", "Luty"), limit = c(308, 308, 
308, 300, 300, 300, 245, 245, 245, 244, 244), serwis = c("Sport", 
"Sport", "Sport", "Sport", "Sport", "Sport", "Sport", "Sport", 
"Sport", "Sport", "Sport"), typ = c("odslony", "odslony", "odslony", 
"odslony", "odslony", "odslony", "odslony", "odslony", "odslony", 
"odslony", "odslony"), ile2 = c(326.6, 326.6, 326.6, 303.5, 303.5, 
303.5, 234.6, 234.6, 234.6, 84.2, 84.2), ile_proc = c(25, 27, 
49, 34, 41, 24, 36, 32, 32, 97, 3), lp = c(1, 1, 1, 2, 2, 2, 
3, 3, 3, 4, 4)), class = "data.frame", .Names = c("rok", "miesiac", 
"ile", "kwartal", "miesiac2", "kwartal2", "miesiac3", "limit", 
"serwis", "typ", "ile2", "ile_proc", "lp"), row.names = c(NA, 
-11L)) 
+1

对我来说它也行不通。也许版本有关?我正在使用版本4.5.6。好的,有人评论说它为他/她工作。 – ricoderks

+0

我也有'plotly 4.5.6'。 – Marta

+1

https://github.com/ropensci/plotly/issues/864 – MLavoie

回答

0

的绘图工作对我来说,虽然我得到一个警告

Warning message: 
In RColorBrewer::brewer.pal(N, "Set2") : 
    minimal value for n is 3, returning requested palette with 3 different levels 

这只是一个警告并可以在这种情况下被忽略。对于好奇,它起源于RColorBrewer,可以通过手动指定颜色来避免。

library(RColorBrewer) 
# display.brewer.all() # see all the palettes 

# generate colors beforehand - same warning. extract only first two 
cols <- brewer.pal(n = 2, name = "Set2")[1:2] 

plot_ly(xyshort, 
     x = ~lp, 
     y = ~ile, 
     color = ~miesiac2, 
     colors = cols, # explicitly name colors 
     type = "bar", 
     text = ~miesiac3, 
     hoverinfo = "text") 

在Windows 7上的R 3.3.2和plotly_4.5.6

+0

要完整。我也使用R 3.3.2,但在Ubuntu 16.04上和使用RStudio 1.0.136 – ricoderks

+0

我有不同版本的'R'('3.3.1'),但我认为这不是'R'版本的问题。 ..任何其他的想法? – Marta

+1

我已经将'R'更新为'3.3.2'。我也使用'plotly_4.5.6'在'Windows 7'上工作,并且悬停仍然不起作用... – Marta