夜莺图:极坐标玫瑰比例与径向周期

在展示周期性数据或视觉冲击力强的类别比例时,夜莺图(也称为极坐标玫瑰图或考克斯康布图)提供了一种引人注目的视觉结构。由弗洛伦斯·南丁格尔创建,用于绘制公共卫生数据,该图表使用扇区半径长度而非角度跨度来编码数据值。通过保持切片角度一致的同时将扇区长度向外延伸,夜莺图将周期性或类别指标转化为独特且具有高冲击力的径向设计。

夜莺图的机制

在 Apache ECharts 中,夜莺图使用标准‘pie’系列类型,并通过设置roseType属性。设置roseType: 'radius'可指示引擎将圆划分为相等的角度段,同时根据每个扇区的数值大小来调整其外半径。

1. 基础设置

要构建一个基本的夜莺图,需在roseType: 'radius'内部设置‘pie’系列对象中,并提供你的数据集:

option = {
    tooltip: {
        trigger: 'item',
        formatter: '{a} 
{b}: {c} ({d}%)'
    },
    legend: {
        top: '5%',
        left: 'center'
    },
    series: [
        {
            name: '半径模式',
            type: 'pie',
            radius: [20, 140],
            center: ['50%', '55%'],
            roseType: 'radius',
            itemStyle: {
                borderRadius: 5
            },
            data: [
                { value: 40, name: '玫瑰 1' },
                { value: 38, name: '玫瑰 2' },
                { value: 32, name: '玫瑰 3' },
                { value: 30, name: '玫瑰 4' },
                { value: 28, name: '玫瑰 5' },
                { value: 26, name: '玫瑰 6' },
                { value: 22, name: '玫瑰 7' },
                { value: 18, name: '玫瑰 8' }
            ]
        }
    ]
};

 

高级结构技术

你可以自定义玫瑰图的显示模式,同时改变角度和半径,或者将中心挖空,形成玫瑰-环形混合图。

1. 面积玫瑰类型(等角度 vs. 缩放角度)

设置roseType: 'area'设置 roseType: ‘area’ 可使所有类别的扇区角度保持相等,同时按面积缩放切片,而非仅缩放半径:

option = {
    legend: {
        top: 'bottom'
    },
    series: [
        {
            name: '面积模式',
            type: 'pie',
            radius: [30, 120],
            center: ['50%', '45%'],
            roseType: 'area',
            data: [
                { value: 30, name: '市场推广' },
                { value: 28, name: '销售' },
                { value: 26, name: '开发' },
                { value: 24, name: '支持' },
                { value: 22, name: '设计' },
                { value: 20, name: '运营' }
            ]
        }
    ]
};

 

微调布局与样式

为极坐标玫瑰图添加圆滑的外端和清晰的边框,使其在现代网页上呈现出更精致的视觉效果。

1. 圆滑的玫瑰花瓣末端与扇区边框

使用 borderRadius以及白色轮廓边框,以清晰地分隔相邻的径向花瓣:

option = {
    tooltip: {
        trigger: 'item'
    },
    series: [
        {
            name: '部门影响',
            type: 'pie',
            radius: [40, 150],
            center: ['50%', '50%'],
            roseType: 'radius',
            itemStyle: {
                borderRadius: 8,
                borderColor: '#ffffff',
                borderWidth: 2
            },
            label: {
                show: true,
                formatter: '{b}: {c}'
            },
            data: [
                { value: 1048, name: '工程' },
                { value: 735, name: '产品' },
                { value: 580, name: '市场推广' },
                { value: 484, name: '销售' },
                { value: 300, name: '支持' }
            ]
        }
    ]
};

 

战略最佳实践

  • 注意视觉失真:由于面积随半径呈指数增长,较大的数值在玫瑰图中会比标准条形图更显视觉主导。当强调视觉冲击力和吸引力时,可优先使用此类图表。
  • 保持内半径空洞: 始终设置一个内半径(例如,[20, 140]),以避免小扇区在中心点收缩成无法辨认的尖锐点。
  • 将图例置于非中心位置: 将图例放置在顶部或底部边缘,以防止径向花瓣向外延伸时与文字重叠。
滚动至顶部