在数据可视化领域,3D金字塔图凭借其独特的立体层次感,常被用于展示财富分布、人口结构等具有明显层级特征的数据。本文将以全球财富金字塔数据为例,手把手教你使用FusionCharts打造专业级3D动态可视化图表。
<script src="https://cdn.fusioncharts.com/fusioncharts/latest/fusioncharts.js">script>
<script src="https://cdn.fusioncharts.com/fusioncharts/latest/themes/fusioncharts.theme.candy.js">script>
注意:原代码中引用了fusion主题,但实际使用candy主题更契合立体效果
const dataSource = {
chart: {
theme: "candy", // 使用糖果主题
bgColor: "transparent", // 透明背景
caption: "The Global Wealth Pyramid",
is2d: "0" // 启用3D模式
},
data: [
{ label: "Top 32M", value: "128.7" },
{ label: "", value: "8.7", alpha: "0" }, // 透明间隔层
{ label: "Next 391M", value: "111.4" },
// ... 更多数据层
]
};
创新点:
✅ 通过空白数据层(alpha:0
)实现自然分层间距
✅ 透明背景适配各种页面场景
✅ 国际单位自动换算($+trn)
new FusionCharts({
type: "pyramid", // 指定金字塔类型
renderAt: "chart-container",
width: "100%", // 响应式宽度
height: "100%", // 自适应高度
dataFormat: "json",
dataSource
}).render();
亮点功能:
自动3D旋转展示(需开启配置项)
悬停时的数据高亮效果
自适应容器尺寸
// 示例:通过Ajax获取实时数据
fetch('/api/wealth-data')
.then(res => res.json())
.then(updateChart);
function updateChart(newData) {
myChart.setJSONData({
...dataSource,
data: newData
});
}
chart: {
// 添加以下配置:
showHoverEffect: "1", // 开启悬停特效
rotateLabel: "1", // 标签自动旋转
clickURL: "javascript:showDetail()" // 点击事件
}
调试技巧
FusionCharts.debugger.enable(true)
开启调试模式myChart.logo({show:0})
隐藏水印(仅限测试环境)性能优化
chart: {
usePlotGradient: "0", // 关闭渐变提升渲染性能
canvasBgAlpha: "0" // 隐藏多余画布层
}
chart: {
adjustTM: "20", // 调整顶部间距
mobileView: "1" // 启用移动优化模式
}
功能特性 | 基础实现 | 优化版本 |
---|---|---|
3D动态旋转 | ❌ | ✅ |
数据实时更新 | ❌ | ✅ |
移动端适配 | ❌ | ✅ |
交互提示 | 基础 | 增强 |
通过本文您已掌握:
延伸应用场景:
赶紧在您的下一个项目中实践这些技巧吧!如果遇到问题,欢迎在评论区留言交流~
全部代码:代码
Tips:建议搭配以下内容获得更好效果: