圆环图配置详尽指南:从中心设置到渐变颜色应用
圆环图基本信息设置
圆环图,作为饼图的一种,同样是一种广泛使用的图表类型。接下来,我们将简要探讨其某些独特部分的显示与设置方法。
▍ 圆环图中心点和半径设置
创建圆环图时,设置中心点和半径是基础操作,通过调整这些参数可以影响图表的位置和大小。在创建圆环图时,我们需要设定其中心点和半径。通过调整这些参数,可以控制圆环图在页面上的位置和大小。例如,我们可以设置中心点为 ['50%', '49%'],这意味着圆环图的中心将位于页面的中心位置。同时,通过设定半径为 ['45%', '63%'],我们可以控制圆环图的外径和内径,从而改变其显示的形状和大小。这些设置对于优化图表的可读性和美观性至关重要。
▍ 圆环图标题设置
圆环图标题支持主标题和副标题,可以通过修改text和subtext实现,并有多种样式可供调整以增强图表美观性。在圆环图中,标题的设置同样重要。我们可以通过修改text和subtext来设定主标题和副标题的文字内容。其中,副标题subtext支持直接使用换行符来进行格式化。同时,我们还可以利用textStyle和subtextStyle来调整标题的样式,包括字体大小、字体风格、字体粗细以及颜色等。这些设置能够进一步增强图表的可读性和美观性。
02图表label的设置
▍ 文字显示格式设置
使用formatter函数和rich属性可实现文字的动态显示,并支持多样的样式配置。对于图表中导线与文字的对齐设置,确实需要一些耐心和细致的调整。在探索过程中,我花费了相当长的时间才找到合适的配置。
通过formatter函数,我们可以动态生成图表文字,并通过rich属性配置了不同部分的样式。例如,通过调整颜色、字体大小和对齐方式等参数,我们可以实现多样化的显示效果。
▍ 导线设置
通过labelLine模块调整导线长度和颜色,使其与图表文字对齐。导线设置主要涉及到labelLine模块的配置。这一部分主要负责设置图表文字显示的线条样式,包括线条的长度、颜色等。通过调整这些参数,我们可以控制导线在图表中的显示效果,使其与文字部分更好地对齐和协调。
03渐变颜色设置
▍ 函数实现渐变颜色
使用LinearGradient或RadialGradient函数实现图表的渐变效果。渐变颜色的设置也是通过函数来实现的,这里主要使用echarts.graphic.LinearGradient或echarts.graphic.RadialGradient进行设置。具体来说,就是定义一个颜色列表colorList,其中包含多种颜色选项,然后根据需要选择相应的颜色进行渐变。在函数中,通过offset参数来指定渐变的位置,从而实现对颜色的平滑过渡。
04完整案例代码
▍ 案例代码展示
以下是一个完整的案例代码,展示了如何配置圆环图的中心、半径、标题、label和渐变颜色。
```javascript
import as echarts from 'echarts';
var chartDom = document.getElementById('main');
var myChart = echarts.init(chartDom, 'dark');
var option;
option = {
tooltip: {show: false,trigger: 'item'},grid: {title: {show: true,text: '人员分类',x: 'center',y: 'center',itemGap: 10,textStyle: {fontSize: 28,fontStyle: 'normal',fontWeight: 700,color: '#fff'}},subtext: '玄幻小说(纪元)',
subtextStyle: {fontSize: 14,fontStyle: 'normal',fontWeight: 400,color: '#fff'}},series: [{type: 'pie',center: ['50%', '49%'],radius: ['45%', '63%'],minAngle: 0,startAngle: 0,avoidLabelOverlap: true,emphasis: {label: {show: true,position: 'center'}},label: {position: 'outer',alignTo: 'edge'}}]};
formatter: function (params) {
const name = params.name;
const percent = params.percent + '%';
const index = params.dataIndex;
const value = params.value;
return [
{a${index}|${name} {b${index}|${value}人 {c${index}|${percent},
{hr${index}|
].join('');
color: '#fff',
rich: {
a: { fontSize: 14, color: '#dfe7fc', align: 'center' },
b: { padding: 5, color: '#FCAE17', fontSize: 14, align: 'center' },
c: { paddingTop: '10px', color: '#CBA0FF', fontSize: 14, align: 'center' }
},
labelLine: {
length: 15,
length2: 240,
maxSurfaceAngle: 80
},
labelLayout: function (params) {
const isLeft = params.labelRect.x myChart.getWidth() / 2;
const points = params.labelLinePoints;
points[2][0] = isLeft
? params.labelRect.x
: params.labelRect.x + params.labelRect.width;
return { labelLinePoints: points };
}
data: [
{ value: 17, name: '异界' },
{ value: 16, name: '消炎' },
{ value: 24, name: '林动' },
{ value: 5, name: '牧尘' },
{ value: 16, name: '叶凡' },
{ value: 14, name: '石化' },
{ value: 97, name: '周一' }
]
itemStyle: {
emphasis: {
shadowBlur: 10,shadowOffsetX: 0,shadowColor: 'rgba(0, 0, 0, 0.5)',label: { show: true }},
normal: {
color: function (params) {var colorList = [{ c1: '#3288FC', c2: '#36B4FD' },{ c1: '#FCAE17', c2: '#FCDA5B' },{ c1: '#CBA0FF', c2: '#598EFE' }];return colorList[params.dataIndex].c1;}}
}
```
这个案例代码全面展示了圆环图的各项配置,帮助我们更好地理解和应用这些高级图表特性。
