2015-08-17 3 views
0

Мне удалось создать диаграмму Sankey. Однако, когда оказывается только половина сюжета появляется в веб-браузере:googleVis sankey-диаграммы отображаются некорректно

enter image description here

Любые идеи о том, как правильно визуализировать сюжет, не выходя из языка R слишком много?

код ниже повторяет диаграмму:

library(reshape2) 
library(googleVis) 

#Download the file at: 
#https://ben.epe.gov.br/downloads/Matriz%20Energ%c3%a9tica%20Nacional%20ab2014.xlsx 

#importing and formating the data 
a <- read.xlsx('Matriz Energética Nacional ab2014.xlsx', sheetName = 'consolidada tep', 
        rowIndex = 24:49 , colIndex=2:10, header=FALSE) # startRow=4 
b <- as.matrix(read.xlsx('Matriz Energética Nacional ab2014.xlsx', sheetName = 'consolidada tep', 
        rowIndex = 2:3, colIndex=2:10, header=FALSE, stringsAsFactors=FALSE) ) 
b <- paste0(b[1,],b[2,]) 
colnames(a) <- b 
c <- read.xlsx('Matriz Energética Nacional ab2014.xlsx', sheetName = 'consolidada tep', 
      rowIndex = 24:49, colIndex=1:1, header=FALSE,  stringsAsFactors=FALSE) # startRow=4 
a <- cbind(c,a) 

#converting to long format 
a2 <- melt(a,id='X1')[,c(2,1,3)] 
colnames(a2) <- c('source','target','value') 

#googleVis 
g <- gvisSankey(a2, from="source", 
       to="target", weight="value"  , 
       options=list(
       height=500, 
       sankey="{link:{color:{fill:'lightblue'}}}" 
      )) 

cat(g$html$chart, file="tmp.html") 
plot(g) 
+1

Мы не можем повторить свою ошибку (если это ошибка), потому что ваш код подразумевает чтение внешнего файла, которого у нас нет. Отправьте код, который воспроизводит ошибку. – SabDeM

+0

@SabDeM: см. 4-ю и 5-ю строки кода. Файл находится по адресу: https://ben.epe.gov.br/downloads/Matriz%20Energ%c3%a9tica%20Nacional%20ab2014.xlsx – LucasMation

+0

@SabDeM: Мне жаль, что загрузка не полностью авторизована, download.file () дал мне еще одну ошибку. ТКС. – LucasMation

ответ

1

Исключение строк с нулевым значением Урожайность этот результат:

library(reshape2) 
library(googleVis) 
library(xlsx) 

download.file("https://ben.epe.gov.br/downloads/Matriz%20Energ%c3%a9tica%20Nacional%20ab2014.xlsx", tf <- tempfile(fileext = ".xlsx"), mode = "wb") 

a <- xlsx::read.xlsx(tf, sheetName = 'consolidada tep', rowIndex = 24:49 , colIndex=2:10, header=FALSE) # startRow=4 
b <- as.matrix(xlsx::read.xlsx(tf, sheetName = 'consolidada tep', rowIndex = 2:3, colIndex=2:10, header=FALSE, stringsAsFactors=FALSE) ) 
b <- paste0(b[1,],b[2,]) 
colnames(a) <- b 
c <- xlsx::read.xlsx(tf, sheetName = 'consolidada tep', rowIndex = 24:49, colIndex=1:1, header=FALSE,  stringsAsFactors=FALSE) # startRow=4 
a <- cbind(c,a) 
a2 <- melt(a,id='X1')[,c(2,1,3)] 
colnames(a2) <- c('source','target','value') 

plot(gvisSankey(subset(a2, value > 0), from="source", to="target", weight="value0", options=list(height=500, sankey="{link:{color:{fill:'lightblue'}}}"))) 

enter image description here

+0

отлично, спасибо! – LucasMation

Смежные вопросы