Platform
Solutions
Resources
Pricing
Sign in
Sign up
Claudio Esperança
Computer Graphics & Visualization @ufrj.br
Workspace
Fork
Published
Data Visualization
By
Claudio Esperança
Edited
May 30, 2022
ISC
Fork of
Dorling Cartogram
6 stars
4
Data Visualization
37-75
Introdução ao SVG
Introdução ao Html
Introdução às Cascading StyleSheets (CSS)
SVG Dinâmico com D3
Usando arquivos SVG
Encapsulando um input
Sorteando com probabilidades dadas
Hexagonal hierarchical cartogram for Brazil
Categorical Treemap
Coral Vivo Diorama v3
Mapa do Brasil com Vega-Lite
Categorical data visualization with t-SNE
Hierarchical Square Packing
Photo gallery with lens
Mapa de bairros do Rio com Vega-Lite
Mapa coroplético e cartograma Dorling de população dos municípios brasileiros
Deformation with RBFs
Lane-Riesenfeld subdivision
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
malhaBrasil
=
FileAttachment
(
"malhabrasil.json"
)
.
json
(
)
Insert cell
// Observe o uso de rewind para mudar as circulações dos polígonos para horária
feicoesMunicipio
=
rewind
(
topojson
.
feature
(
malhaBrasil
,
malhaBrasil
.
objects
.
foo
)
,
true
)
Insert cell
municipios
=
FileAttachment
(
"municipios.csv"
)
.
csv
(
)
Insert cell
Insert cell
Insert cell
municipioPorCodigo
=
new
Map
(
municipios
.
map
(
m
=>
[
m
[
"Código Município Completo"
]
,
m
]
)
)
Insert cell
populacaoMunicipio
=
FileAttachment
(
"populacao_municipio_2018.csv"
)
.
csv
(
)
Insert cell
populacaoPorCodigo
=
new
Map
(
populacaoMunicipio
.
map
(
p
=>
[
p
.
municipio
,
+
p
.
populacao
]
)
)
Insert cell
populacaoLimites
=
d3
.
extent
(
populacaoPorCodigo
.
values
(
)
)
Insert cell
Insert cell
projecao
=
d3
.
geoMercator
(
)
.
fitWidth
(
width
,
feicoesMunicipio
)
Insert cell
funcaoPath
=
d3
.
geoPath
(
projecao
)
Insert cell
limites
=
funcaoPath
.
bounds
(
feicoesMunicipio
)
Insert cell
razaoAspecto
=
{
let
[
[
xmin
,
ymin
]
,
[
xmax
,
ymax
]
]
=
limites
;
return
Math
.
abs
(
(
xmax
-
xmin
)
/
(
ymax
-
ymin
)
)
;
}
Insert cell
Insert cell
escalaCores
=
d3
.
scaleThreshold
(
[
1
,
10
,
100
,
1000
,
10000
]
,
d3
.
range
(
5
)
.
map
(
i
=>
d3
.
interpolateViridis
(
i
/
4
)
)
)
Insert cell
coresCirculos
=
d3
.
scaleOrdinal
(
d3
.
range
(
1
,
60
)
,
d3
.
schemeDark2
)
Insert cell
raio
=
d3
.
scaleSqrt
(
)
.
domain
(
populacaoLimites
)
.
range
(
[
1
,
Math
.
sqrt
(
width
*
width
)
/
50
]
)
Insert cell
legendaCirculos
=
legendCircle
(
)
.
tickValues
(
[
1e5
,
1e6
,
1e7
]
)
.
tickFormat
(
(
d
,
i
,
e
)
=>
{
const
val
=
d
>=
1e6
?
`${
d
/
1e6
} M`
:
`${
d
/
1e3
} m`
;
const
unit
=
i
===
e
.
length
-
1
?
" habitantes"
:
""
;
return
`${
val
}${
unit
}`
;
}
)
.
scale
(
raio
)
Insert cell
Insert cell
simulacao
=
{
feicoesMunicipio
.
features
.
forEach
(
(
node
)
=>
{
[
node
.
x
,
node
.
y
]
=
[
node
.
x0
,
node
.
y0
]
=
projecao
(
node
.
properties
.
centroide
)
;
return
node
;
}
)
;
const
simulacao
=
d3
.
forceSimulation
(
feicoesMunicipio
.
features
)
.
force
(
"x"
,
d3
.
forceX
(
(
d
)
=>
d
.
x0
)
)
.
force
(
"y"
,
d3
.
forceY
(
(
d
)
=>
d
.
y0
)
)
.
force
(
"collide"
,
d3
.
forceCollide
(
(
d
)
=>
0.2
+
raio
(
populacaoPorCodigo
.
get
(
d
.
properties
.
codarea
)
)
)
)
.
stop
(
)
;
//for (let i = 0; i < 120; i++) simulacao.tick();
return
simulacao
;
}
Insert cell
Insert cell
rewind
=
require
(
'https://bundle.run/@mapbox/geojson-rewind@0.5.0'
)
Insert cell
import
{
legend
}
from
"@d3/color-legend"
Insert cell
Insert cell
d3
=
require
(
"d3@6"
)
Insert cell
topojson
=
require
(
"topojson-client@3"
)
;
Insert cell
import
{
checkbox
}
from
"@jashkenas/inputs"
;
Insert cell
import
{
legendCircle
}
from
"@harrystevens/circle-legend"
;
Insert cell
import
{
toc
}
from
"@harrystevens/toc"
;
Insert cell
One platform
to build and deploy the best data apps
Experiment and prototype by building visualizations in live JavaScript notebooks. Collaborate with your team and decide which concepts to build out.
Use Observable Framework to build data apps locally. Use data loaders to build in any language or library, including Python, SQL, and R.
Seamlessly deploy to Observable. Test before you ship, use automatic deploy-on-commit, and ensure your projects are always up-to-date.
Try it for free
Learn more
Compare fork
Fork
View
Export
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
mapaCoropletico
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
malhaBrasil
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
feicoesMunicipio
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
municipios
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
getCircles
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
municipioPorCodigo
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
populacaoMunicipio
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
populacaoPorCodigo
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
populacaoLimites
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
projecao
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
funcaoPath
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
limites
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
razaoAspecto
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
escalaCores
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
coresCirculos
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
raio
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
legendaCirculos
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
simulacao
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
rewind
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
d3
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
topojson
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML