echarts = require("echarts@5")
// dados
dic_genero_idade = FileAttachment("../fontes/pneumonia_genero_idade.json").json();
dados_genero = dic_genero_idade.filter(d => d.idade >= 0 && d.idade <= 100);
chart_dic_genero_idade = {
// elemento inicia invisível (sem piscada)
const el = DOM.element('div', {
className: 'chart-holder chart-pending',
style: 'width:100%; height:420px; min-height:420px;'
});
function buildOnce() {
if (el._built) return;
el._built = true;
const chart = echarts.init(el);
const idades = dados_genero.map(d => d.idade);
const generos = Object.keys(dados_genero[0]).filter(k => k !== 'idade');
const generosParaMarcar = ['Fem', 'Masc'];
// paleta opcional por série (use as suas cores se preferir)
const coresPorGenero = { Masc: '#FF8C00', Fem: '#008080' };
const option = {
title: { text: 'Mortes por Gênero e Idade (0 a 100 anos)', left: 'center', top: 10 },
tooltip: { trigger: 'axis' },
legend: { data: generos, bottom: 10 },
grid: { top: 80, left: '3%', right: '4%', bottom: '15%', containLabel: true },
xAxis: { type: 'category', boundaryGap: false, data: idades, name: 'Idade' },
yAxis: { type: 'value', name: 'Quantidade' },
animationDuration: 2000,
animationEasing: 'cubicOut',
series: generos.map(g => ({
name: g,
type: 'line',
data: dados_genero.map(d => d[g] ?? 0),
itemStyle: { color: coresPorGenero[g] },
lineStyle: { color: coresPorGenero[g] }
}))
};
chart.setOption(option);
// adiciona markPoints após a animação das linhas
setTimeout(() => {
const seriesMP = generos.map((g) => {
const dados = dados_genero.map(d => d[g] ?? 0);
let markPoint = {};
if (generosParaMarcar.includes(g)) {
const maxv = Math.max(...dados);
const i = dados.indexOf(maxv);
const idadePico = idades[i];
const cor = coresPorGenero[g] || '#666';
markPoint = {
// >>> animação do markPoint restaurada <<<
animation: true,
animationDuration: 800,
animationEasing: 'cubicOut',
data: [{
// você pode trocar por type: 'max' se preferir
coord: [i, maxv],
symbol: 'circle', // 'pin' para balão em gota
symbolSize: 12, // <<< diminua/aumente o "balão"
itemStyle: {
color: cor,
borderColor: '#fff',
borderWidth: 2
},
label: {
show: true,
position: 'top',
offset: [0, -6],
// >>> caixa no rótulo <<<
backgroundColor: 'rgba(255,255,255,0.95)',
borderColor: cor,
borderWidth: 1,
borderRadius: 6,
padding: [6, 8],
color: '#333',
fontSize: 12,
fontWeight: 'bold',
lineHeight: 16,
formatter: `Pico ${g}: ${idadePico} anos`
}
}]
};
}
return { name: g, type: 'line', data: dados, markPoint };
});
chart.setOption({ series: seriesMP });
}, 2100);
// garante tamanho correto e revela
chart.resize();
new ResizeObserver(() => chart.resize()).observe(el);
window.addEventListener('resize', () => chart.resize());
el.classList.remove('chart-pending');
el.classList.add('chart-ready');
invalidation.then(() => chart.dispose());
}
// inicializa já, se visível; senão, espera a aba abrir
requestAnimationFrame(() => {
const pane = el.closest('.tab-pane');
if (!pane || pane.classList.contains('active') || pane.style.display !== 'none') {
requestAnimationFrame(buildOnce);
} else {
const onShow = ev => {
const target = ev.target && ev.target.getAttribute('data-bs-target');
if (target === '#' + pane.id) {
requestAnimationFrame(buildOnce);
document.removeEventListener('shown.bs.tab', onShow);
}
};
document.addEventListener('shown.bs.tab', onShow);
}
});
return el;
}Pneumonia
Destaques: Gênero
A maior quantidade de mortes ocorre em crianças de 1 ano, indicando um risco elevado nessa faixa etária, provavelmente devido à vulnerabilidade do sistema imunológico nessa fase inicial da vida.
O pico de mortes de meninos e meninas ocorre no primeiro ano de vida.
Próximo aos 14 anos há um aumento de mortalidade de adolescentes homens, o que não se vê nas adolescentes. Essa característica permanece até os 22 anos, quando a mortalidade dos meninos adolescentes estabiliza.
Exposição a riscos, ausência de autocuidado e a crença de que é invulnerável são hipóteses que podem explicar esse fenômeno.
Destaques: Raça/Cor
Adolescentes pardos(as) têm maior probabilidade de morte que brancos, o que se inverte aos 41 anos.
Mesmo assim, na fase adulta, pardos tendem a morrer com maior frequência aos 74 anos, próximo a pessoas pretas, aos 73 anos, alguns anos (8) antes que pessoas brancas.
Lista de CIDs em “Pneumonia”
Códigos CID-10 - Pneumonias
| Código CID | Descrição |
|---|---|
| J12 | Pneumonia viral não classificada em outra parte |
| J13 | Pneumonia devida a Streptococcus pneumoniae |
| J14 | Pneumonia devida a Haemophilus influenzae |
| J15 | Pneumonia bacteriana não classificada em outra parte |
| J16 | Pneumonia devida a outros microrganismos infecciosos não classificados em outra parte |
| J17 | Pneumonia em doenças classificadas em outra parte |
| J18 | Pneumonia por microrganismo não especificado |