Exemplo
Os dados utilizados foram extraídos do github de Paulo Alencar, e são das exportações brasileiras para China a partir de 2015, considerando o período parcial até abril, como também o total dos anos de 2015 e 2016. Os dados estão desagregados por fator agregado e principais produtos exportados e importados. Sugere-se que a atualização seja feita a partir dos dados do Comtrade com o pacote comtrader
. São 3226 observações em 10 colunas.
library(D3plusR)
library(dplyr)
dados_chn <- read.csv2("dados/chn.csv", stringsAsFactors = FALSE, encoding = "latin1")
knitr::kable(head(dados_chn))
EXPORTAÇÕES |
Jan-Abr |
2015 |
160 |
China |
CHN |
Abrasivos e pedras para amolar e semelhantes |
Produtos Manufaturados |
328523 |
5529 |
EXPORTAÇÕES |
Jan-Abr |
2015 |
160 |
China |
CHN |
Aceleradores de reação e preparações catalíticas |
Produtos Manufaturados |
2737 |
30 |
EXPORTAÇÕES |
Jan-Abr |
2015 |
160 |
China |
CHN |
Acetatos,nitratos, éteres de celulose e outs. derivados |
Produtos Manufaturados |
54518 |
10050 |
EXPORTAÇÕES |
Jan-Abr |
2015 |
160 |
China |
CHN |
Ácidos carboxílicos, seus anidridos, halogenetos, etc. |
Produtos Manufaturados |
58495 |
15355 |
EXPORTAÇÕES |
Jan-Abr |
2015 |
160 |
China |
CHN |
Açúcar de cana, em bruto |
Produtos Semimanufaturados |
242426442 |
728498375 |
EXPORTAÇÕES |
Jan-Abr |
2015 |
160 |
China |
CHN |
Açúcar refinado |
Produtos Manufaturados |
405 |
450 |
É possível ver que algumas colunas são desnecessárias, como a primeira coluna que contém apenas a informação de que são exportações e importações. Mas ela pode ser útil se houver também as importações no mesmo dataset. A investigação do dataset pode ser melhorada usando a função unique
. Vocês verão que o dataset contêm exportações e importações. Também olhamos a coluna PERIODO
. Veremos que tem informações para Jan-Abr
e para Total
.
unique(dados_chn["TIPO"])
unique(dados_chn["PERIODO"])
Separaremos então apenas as exportações, para período igual a total. Na sequência, um primeiro treemap contendo apenas a informação registrada em NO_FAT_AGREG
e NO_PPE_PPI
. Utilizaremos o pacote D3plusR
para elaborar o treemap.
Esta informação tratará as duas colunas como fatores, contando os resutlados em cada caso, para o dataset de exportações (dados_chn_exp
). Observa-se a predominância das exportações brasileiras para a China de produtos básicos, caixa amarela, e assim tem-se um primeiro olhar sobre estes dados.
dados_chn_exp <- dados_chn %>%
filter(TIPO == "EXPORTAÇÕES", PERIODO == "Total")
d3plus(dados_chn_exp, type = "tree_map", id = c("NO_FAT_AGREG", "NO_PPE_PPI"), width = "100%",
height = 500) %>%
d3plusSize("VL_FOB")
Para que o D3plusR
possa mostrar as participações, é necessário que os rótulos (labels) tenham o seu alinhamento vertical definido para o topo (d3plusLabels(value = TRUE, valign = "top")
).
d3plus(dados_chn_exp, type = "tree_map", id = c("NO_FAT_AGREG", "NO_PPE_PPI"), width = "100%",
height = 500) %>%
d3plusSize("VL_FOB") %>%
d3plusLabels(value = TRUE, valign = "top")
Agora, vamos definir que o nível de profundidade da visualização é o de produtos, ou seja, d3plusDepth(1)
. A posição da profundidade Depth é definida pela opção id = c("NO_FAT_AGREG", "NO_PPE_PPI")
, que varia iniciando em “0”. Ou seja, para o detalhamento em nível de “NO_PPE_PPI”, especificar “1” em d3plusDepth()
. A cor foi definida pelo fator agregado d3plusColor(value = "NO_FAT_AGREG")
:
d3plus(dados_chn_exp, type = "tree_map", id = c("NO_FAT_AGREG", "NO_PPE_PPI"), width = "100%",
height = 500) %>%
d3plusSize("VL_FOB") %>%
d3plusLabels(value = TRUE, valign = "top") %>%
d3plusDepth(1) %>%
d3plusColor(value = "NO_FAT_AGREG") %>%
d3plusLegend(value = TRUE, order = list(value = "size", sort = "desc"))
LS0tDQpsYW5nOiBwdA0KdGl0bGU6ICJFY29ub21pYSBSZWdpb25hbDogZXhlbXBsbyBkZSB0cmVlbWFwIG5vIGNvbcOpcmNpbyBpbnRlcm5hY2lvbmFsIg0KYXV0aG9yOiAiQWRyaWFubyBNYXJjb3MgUm9kcmlndWVzIEZpZ3VlaXJlZG8iDQpoZWFkZXItaW5jbHVkZXM6DQogIC0gXHVzZXBhY2thZ2VbcG9ydHVnZXNde2JhYmVsfQ0KbGlua2NvbG9yOiBibHVlDQpiaWJsaW9ncmFwaHk6IHBhY2thZ2VzLmJpYg0Kbm9jaXRlOiAnQConDQphYnN0cmFjdDogDQogIFRoaXMgaXMgYW4gdW5kZXJncmFkIHN0dWRlbnQgbGV2ZWwgaW5zdHJ1Y3Rpb24gZm9yIGNsYXNzIHVzZS4gIA0KZGF0ZTogImByIGZvcm1hdChTeXMuRGF0ZSgpLCAnJWQgJUIgJVknKWAiDQpvdXRwdXQ6DQogIGh0bWxfZG9jdW1lbnQ6DQogICAgY29kZV9kb3dubG9hZDogdHJ1ZQ0KICAgIHRoZW1lOiBkZWZhdWx0DQogICAgbnVtYmVyX3NlY3Rpb25zOiB0cnVlDQogICAgdG9jOiB5ZXMNCiAgICB0b2NfZmxvYXQ6IG5vDQogICAgZGZfcHJpbnQ6IHBhZ2VkDQogICAgZmlnX2NhcHRpb246IHRydWUNCiAgcGRmX2RvY3VtZW50Og0KICAgIHRvYzogeWVzDQotLS0NCg0KYGBge3Iga25pdHJfaW5pdCwgZWNobz1GQUxTRSwgY2FjaGU9RkFMU0V9DQpsaWJyYXJ5KGtuaXRyKQ0KbGlicmFyeShybWFya2Rvd24pDQpsaWJyYXJ5KHJtZGZvcm1hdHMpDQoNCiMjIEdsb2JhbCBvcHRpb25zDQpvcHRpb25zKG1heC5wcmludD0iMTAwIikNCm9wdHNfY2h1bmskc2V0KGVjaG89VFJVRSwNCgkgICAgICAgICAgICAgY2FjaGU9VFJVRSwNCiAgICAgICAgICAgICAgIHByb21wdD1GQUxTRSwNCiAgICAgICAgICAgICAgIHRpZHk9VFJVRSwNCiAgICAgICAgICAgICAgIGNvbW1lbnQ9TkEsDQogICAgICAgICAgICAgICBtZXNzYWdlPUZBTFNFLA0KICAgICAgICAgICAgICAgd2FybmluZz1GQUxTRSkNCm9wdHNfa25pdCRzZXQod2lkdGg9MTAwKQ0KYGBgDQoNCiMgTGljZW7Dp2EgeyNMaWNlbsOnYSAudW5udW1iZXJlZH0NCg0KVGhpcyB3b3JrIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBDcmVhdGl2ZSBDb21tb25zIEF0dHJpYnV0aW9uLVNoYXJlQWxpa2UgNC4wIEludGVybmF0aW9uYWwgTGljZW5zZS4gVG8gdmlldyBhIGNvcHkgb2YgdGhpcyBsaWNlbnNlLCB2aXNpdCA8aHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnktc2EvNC4wLz4gb3Igc2VuZCBhIGxldHRlciB0byBDcmVhdGl2ZSBDb21tb25zLCBQTyBCb3ggMTg2NiwgTW91bnRhaW4gVmlldywgQ0EgOTQwNDIsIFVTQS4NCg0KIVtMaWNlbnNlOiBDQyBCWS1TQSA0LjBdKGh0dHBzOi8vbWlycm9ycy5jcmVhdGl2ZWNvbW1vbnMub3JnL3ByZXNza2l0L2J1dHRvbnMvODh4MzEvcG5nL2J5LXNhLnBuZyl7d2lkdGg9IjI1JSJ9DQoNCiMgQ2l0YcOnw6NvIHsjQ2l0YcOnw6NvIC51bm51bWJlcmVkfQ0KDQpTdWdlc3TDo28gZGUgY2l0YcOnw6NvOiBGSUdVRUlSRURPLCBBZHJpYW5vIE1hcmNvcyBSb2RyaWd1ZXMuIEVjb25vbWlhIFJlZ2lvbmFsOiBleGVtcGxvIGRlIHRyZWVtYXAgbm8gY29tw6lyY2lvIGludGVybmFjaW9uYWwuIENhbXBvIEdyYW5kZS1NUyxCcmFzaWw6IFJTdHVkaW8vUnB1YnMsIDIwMjEuIERpc3BvbsOtdmVsIGVtIDxodHRwOi8vcnB1YnMuY29tL2Ftcm9maS90cmVlbWFwMT4uDQoNCiMgSW50cm9kdcOnw6NvDQoNCk8gdHJlZW1hcCBwZXJtaXRlIHZpc3VhbGl6YXIgYmxvY29zIGN1am9zIHRhbWFuaG9zIHJlZmxldGVtIGEgZ3JhbmRlemEgZGEgdmFyacOhdmVsLCBlIGFzIGNvcmVzIHJlZmxldGVtIGFncnVwYW1lbnRvcyBvdSB0aXBvcyBkZSBwcm9kdXRvcy4gVMOqbSBzaWRvIG11aXRvIHV0aWxpemFkb3MgZW0gY29tw6lyY2lvIGludGVybmFjaW9uYWwsIHBvciBleGVtcGxvIG5vIE9ic2VydmF0w7NyaW8gZGUgQ29tcGxleGlkYWRlIEVjb27DtG1pY2EgLSBPRUMsIDxodHRwczovL29lYy53b3JsZC8+LCBlbSBkYXNoYm9hcmRzIGUgb3V0cmFzIHV0aWxpemHDp8O1ZXMuICAgIA0KDQpPIGV4ZW1wbG8gYSBzZWd1aXIgcmVwcm9kdXogZSBhZGFwdGEgYSByb3RpbmEgZGUgUGF1bG8gQWxlbmNhciAoPGh0dHBzOi8vd3d3LmZ1bGxqb2luLmNvbS5ici8+KSBlIGPDs2RpZ28gZGlzcG9uaWJpbGl6YWRvIGVtIDxodHRwczovL2dpdGh1Yi5jb20vcGF1bG9mZWxpcGUvdHV0b3JpYWxfZDNwbHVzcj4uIFV0aWxpemFyZW1vcyBvIHBhY290ZSBkZSBBbGVuY2FyIGUgR3VlcnJhICgyMDE2KSwgYEQzcGx1c1JgLiAgICANCg0KIyBFeGVtcGxvDQoNCk9zIGRhZG9zIHV0aWxpemFkb3MgZm9yYW0gZXh0cmHDrWRvcyBkbyBnaXRodWIgZGUgUGF1bG8gQWxlbmNhciwgZSBzw6NvIGRhcyBleHBvcnRhw6fDtWVzIGJyYXNpbGVpcmFzIHBhcmEgQ2hpbmEgYSBwYXJ0aXIgZGUgMjAxNSwgY29uc2lkZXJhbmRvIG8gcGVyw61vZG8gcGFyY2lhbCBhdMOpIGFicmlsLCBjb21vIHRhbWLDqW0gbyB0b3RhbCBkb3MgYW5vcyBkZSAyMDE1IGUgMjAxNi4gT3MgZGFkb3MgZXN0w6NvIGRlc2FncmVnYWRvcyBwb3IgZmF0b3IgYWdyZWdhZG8gZSBwcmluY2lwYWlzIHByb2R1dG9zIGV4cG9ydGFkb3MgZSBpbXBvcnRhZG9zLiBTdWdlcmUtc2UgcXVlIGEgYXR1YWxpemHDp8OjbyBzZWphIGZlaXRhIGEgcGFydGlyIGRvcyBkYWRvcyBkbyBDb210cmFkZSBjb20gbyBwYWNvdGUgYGNvbXRyYWRlcmAuIFPDo28gMzIyNiBvYnNlcnZhw6fDtWVzIGVtIDEwIGNvbHVuYXMuDQoNCmBgYHtyfQ0KbGlicmFyeShEM3BsdXNSKQ0KbGlicmFyeShkcGx5cikNCmRhZG9zX2NobiA8LSByZWFkLmNzdjIoJ2RhZG9zL2Nobi5jc3YnLCBzdHJpbmdzQXNGYWN0b3JzID0gRkFMU0UsDQogICAgICAgICAgICAgICAgICAgICAgIGVuY29kaW5nID0gJ2xhdGluMScpDQprbml0cjo6a2FibGUoaGVhZChkYWRvc19jaG4pKQ0KYGBgDQoNCsOJIHBvc3PDrXZlbCB2ZXIgcXVlIGFsZ3VtYXMgY29sdW5hcyBzw6NvIGRlc25lY2Vzc8OhcmlhcywgY29tbyBhIHByaW1laXJhIGNvbHVuYSBxdWUgY29udMOpbSBhcGVuYXMgYSBpbmZvcm1hw6fDo28gZGUgcXVlIHPDo28gZXhwb3J0YcOnw7VlcyBlIGltcG9ydGHDp8O1ZXMuIE1hcyBlbGEgcG9kZSBzZXIgw7p0aWwgc2UgaG91dmVyIHRhbWLDqW0gYXMgaW1wb3J0YcOnw7VlcyBubyBtZXNtbyBkYXRhc2V0LiBBIGludmVzdGlnYcOnw6NvIGRvIGRhdGFzZXQgcG9kZSBzZXIgbWVsaG9yYWRhIHVzYW5kbyBhIGZ1bsOnw6NvIGB1bmlxdWVgLiBWb2PDqnMgdmVyw6NvIHF1ZSBvIGRhdGFzZXQgY29udMOqbSBleHBvcnRhw6fDtWVzIGUgaW1wb3J0YcOnw7Vlcy4gVGFtYsOpbSBvbGhhbW9zIGEgY29sdW5hIGBQRVJJT0RPYC4gVmVyZW1vcyBxdWUgdGVtIGluZm9ybWHDp8O1ZXMgcGFyYSBgSmFuLUFicmAgZSBwYXJhIGBUb3RhbGAuICAgICANCg0KYGBge3J9DQp1bmlxdWUoZGFkb3NfY2huWyJUSVBPIl0pDQp1bmlxdWUoZGFkb3NfY2huWyJQRVJJT0RPIl0pDQpgYGANCg0KU2VwYXJhcmVtb3MgZW50w6NvIGFwZW5hcyBhcyBleHBvcnRhw6fDtWVzLCBwYXJhIHBlcsOtb2RvIGlndWFsIGEgdG90YWwuIE5hIHNlcXXDqm5jaWEsIHVtIHByaW1laXJvIHRyZWVtYXAgY29udGVuZG8gYXBlbmFzIGEgaW5mb3JtYcOnw6NvIHJlZ2lzdHJhZGEgZW0gYE5PX0ZBVF9BR1JFR2AgZSBgTk9fUFBFX1BQSWAuIFV0aWxpemFyZW1vcyBvIHBhY290ZSBgRDNwbHVzUmAgcGFyYSBlbGFib3JhciBvIHRyZWVtYXAuIA0KICAgICANCkVzdGEgaW5mb3JtYcOnw6NvIHRyYXRhcsOhIGFzIGR1YXMgY29sdW5hcyBjb21vIGZhdG9yZXMsIGNvbnRhbmRvIG9zIHJlc3V0bGFkb3MgZW0gY2FkYSBjYXNvLCBwYXJhIG8gZGF0YXNldCBkZSBleHBvcnRhw6fDtWVzIChgZGFkb3NfY2huX2V4cGApLiBPYnNlcnZhLXNlIGEgcHJlZG9taW7Dom5jaWEgZGFzIGV4cG9ydGHDp8O1ZXMgYnJhc2lsZWlyYXMgcGFyYSBhIENoaW5hIGRlIHByb2R1dG9zIGLDoXNpY29zLCBjYWl4YSBhbWFyZWxhLCBlIGFzc2ltIHRlbS1zZSB1bSBwcmltZWlybyBvbGhhciBzb2JyZSBlc3RlcyBkYWRvcy4NCg0KYGBge3IsIGZpZy5jYXA9IlRyZWVtYXAgZGFzIGV4cG9ydGHDp8O1ZXMgYnJhc2lsZWlyYXMgcGFyYSBhIENoaW5hLCBUb3RhbCAoMjAxNS0xNikifQ0KZGFkb3NfY2huX2V4cCA8LSBkYWRvc19jaG4gJT4lIA0KICBmaWx0ZXIoVElQTyA9PSAiRVhQT1JUQcOHw5VFUyIsIFBFUklPRE8gPT0gIlRvdGFsIikNCg0KZDNwbHVzKGRhZG9zX2Nobl9leHAsIHR5cGUgPSAidHJlZV9tYXAiLCBpZCA9IGMoIk5PX0ZBVF9BR1JFRyIsICJOT19QUEVfUFBJIiksDQogICAgICAgd2lkdGggPSAiMTAwJSIsIGhlaWdodCA9IDUwMCkgJT4lIA0KICBkM3BsdXNTaXplKCJWTF9GT0IiKQ0KYGBgDQoNClBhcmEgcXVlIG8gYEQzcGx1c1JgIHBvc3NhIG1vc3RyYXIgYXMgcGFydGljaXBhw6fDtWVzLCDDqSBuZWNlc3PDoXJpbyBxdWUgb3MgcsOzdHVsb3MgKF9sYWJlbHNfKSB0ZW5oYW0gbyBzZXUgYWxpbmhhbWVudG8gdmVydGljYWwgZGVmaW5pZG8gcGFyYSBvIHRvcG8gKGBkM3BsdXNMYWJlbHModmFsdWUgPSBUUlVFLCB2YWxpZ24gPSAidG9wIilgKS4NCg0KYGBge3IsIGZpZy5jYXA9IlRyZWVtYXAgZGFzIGV4cG9ydGHDp8O1ZXMgYnJhc2lsZWlyYXMgcGFyYSBhIENoaW5hLCBUb3RhbCAoMjAxNS0xNikifQ0KZDNwbHVzKGRhZG9zX2Nobl9leHAsIHR5cGUgPSAidHJlZV9tYXAiLCBpZCA9IGMoIk5PX0ZBVF9BR1JFRyIsICJOT19QUEVfUFBJIiksDQogICAgICAgd2lkdGggPSAiMTAwJSIsIGhlaWdodCA9IDUwMCkgJT4lIA0KICBkM3BsdXNTaXplKCJWTF9GT0IiKSAlPiUgDQogIGQzcGx1c0xhYmVscyh2YWx1ZSA9IFRSVUUsIHZhbGlnbiA9ICJ0b3AiKQ0KYGBgDQoNCg0KQWdvcmEsIHZhbW9zIGRlZmluaXIgcXVlIG8gbsOtdmVsIGRlIHByb2Z1bmRpZGFkZSBkYSB2aXN1YWxpemHDp8OjbyDDqSBvIGRlIHByb2R1dG9zLCBvdSBzZWphLCBgZDNwbHVzRGVwdGgoMSlgLiBBIHBvc2nDp8OjbyBkYSBwcm9mdW5kaWRhZGUgRGVwdGggw6kgZGVmaW5pZGEgcGVsYSBvcMOnw6NvIGBpZCA9IGMoIk5PX0ZBVF9BR1JFRyIsICJOT19QUEVfUFBJIilgLCBxdWUgdmFyaWEgaW5pY2lhbmRvIGVtICIwIi4gT3Ugc2VqYSwgcGFyYSBvIGRldGFsaGFtZW50byBlbSBuw612ZWwgZGUgICJOT19QUEVfUFBJIiwgZXNwZWNpZmljYXIgIjEiIGVtIGBkM3BsdXNEZXB0aCgpYC4gQSBjb3IgZm9pIGRlZmluaWRhIHBlbG8gZmF0b3IgYWdyZWdhZG8gYGQzcGx1c0NvbG9yKHZhbHVlID0gIk5PX0ZBVF9BR1JFRyIpYDoNCg0KYGBge3IsIGZpZy5jYXA9IlRyZWVtYXAgZGFzIGV4cG9ydGHDp8O1ZXMgYnJhc2lsZWlyYXMgcGFyYSBhIENoaW5hLCBUb3RhbCAoMjAxNS0xNikifQ0KZDNwbHVzKGRhZG9zX2Nobl9leHAsIHR5cGUgPSAidHJlZV9tYXAiLCBpZCA9IGMoIk5PX0ZBVF9BR1JFRyIsICJOT19QUEVfUFBJIiksDQogICAgICAgd2lkdGggPSAiMTAwJSIsIGhlaWdodCA9IDUwMCkgJT4lIA0KICBkM3BsdXNTaXplKCJWTF9GT0IiKSAlPiUgDQogIGQzcGx1c0xhYmVscyh2YWx1ZSA9IFRSVUUsIHZhbGlnbiA9ICJ0b3AiKSAlPiUgDQogIGQzcGx1c0RlcHRoKDEpICU+JSANCiAgZDNwbHVzQ29sb3IodmFsdWUgPSAiTk9fRkFUX0FHUkVHIikgJT4lIA0KICBkM3BsdXNMZWdlbmQodmFsdWUgPSBUUlVFLCBvcmRlciA9IGxpc3QodmFsdWUgPSAic2l6ZSIsIHNvcnQgPSAiZGVzYyIpKQ0KYGBgDQoNCiMgUmVmZXLDqm5jaWFzIHsjUmVmZXLDqm5jaWFzIC51bm51bWJlcmVkfQ0KDQoqKlJlZmVyw6puY2lhcyBkZSBwYWNvdGVzIHV0aWxpemFkb3MgLSoqIGxpc3RhIHRvZG9zIG9zIHBhY290ZXMgcXVlIGZvcmFtIGFiZXJ0b3MgZW0gYWxndW0gcHJvY2VkaW1lbnRvDQoNCmBgYHtyLGluY2x1ZGU9RkFMU0Usd2FybmluZz1GQUxTRSxjb21tZW50PUZBTFNFfQ0Ka25pdHI6OndyaXRlX2JpYihjKC5wYWNrYWdlcygpLCAiYm9va2Rvd24iKSwgInBhY2thZ2VzLmJpYiIsIHdpZHRoID0gNjApDQpgYGA=