React highcharts,将图例显示为条形图
React highcharts, show legends as bar
此代码将图例显示为圆圈,<<<
我想将图例显示为条形,如下图所示。
我的要求是图例应显示为条形而不是圆圈
这里你可以看看我的代码:
Highcharts.chart('flow', {
chart: {
plotBackgroundColor: null,
plotBorderWidth: null,
plotShadow: false,
type: 'pie',
width: 500,
height: 260,
style:{
marginBottom:"30px"
}
},
title: {
text: 'Flow',
x: 90,
y: 80,
style:{
fontSize:"25px",
fontWeight:600
}
},
tooltip: {
pointFormat: '{series.name}: <b>{point.percentage:.1f}%</b>'
},
plotOptions: {
pie: {
allowPointSelect: true,
cursor: 'pointer',
dataLabels: {
enabled: true,
distance:-30,
color:'white',
fontSize:'9px',
format: '{point.percentage:.1f} %',
style: {
textOutline: false
}
},
showInLegend: true
}
},
credits: {
enabled: false
},
legend: {
align: 'right',
layout: 'vertical',
verticalAlign: 'middle',
x: -100,
y: 90,
},
series: [{
name: 'Flow',
colorByPoint: true,
data: [{
name: 'Owned',
y: 74,
color:"#f5990f"
},{
name: 'Invited',
y: 36,
color:"#fce61e"
}]
}]
});
Highcharts.chart('flow', {
图表: {
plotBackgroundColor:空,
plotBorderWidth:空,
情节阴影:假的,
类型:'pie',
宽度:500,
身高:260,
风格:{
marginBottom:"30px"
}
},
标题: {
文本:'Flow',
×:90,
是:80,
风格:{
字体大小:“25px”,
fontWeight:600
}
},
工具提示:{
pointFormat: '{series.name}: {point.percentage:.1f}%'
},
绘图选项:{
馅饼:{
allowPointSelect:真,
光标:'pointer',
数据标签:{
启用:真,
距离:-30,
颜色:'white',
fontSize:'9px',
格式:'{point.percentage:.1f} %',
风格: {
文本大纲:假
}
},
showInLegend:真
}
},
学分:{
启用:假
},
传奇: {
对齐:'right',
布局:'vertical',
垂直对齐:'middle',
×:-100,
是:90,
},
系列: [{
姓名:'Flow',
colorByPoint:真,
数据: [{
姓名:'Owned',
是:74,
颜色:“#f5990f”
},{
姓名:'Invited',
是:36,
颜色:“#fce61e”
}]
}]
});
如果我能得到任何帮助来实现这一目标,我将不胜感激。谢谢!
您可以创建额外的 column
图表并将它们放在图例项下:
chart: {
events: {
load: function() {
var columnChart1 = Highcharts.chart("columnChart1", columnChartOptions),
columnChart2,
xPos = this.legend.group.translateX,
yPos = this.legend.group.translateY,
items = this.legend.allItems;
columnChartOptions.series[0].data = [76];
columnChartOptions.series[0].color = 'yellow';
columnChart2 = Highcharts.chart("columnChart2", columnChartOptions);
columnChart1.renderTo.style.top = yPos + 50 + 15 + items[0]._legendItemPos[1] + 'px';
columnChart1.renderTo.style.left = xPos + 'px';
columnChart2.renderTo.style.top = yPos + 50 + 15 + items[1]._legendItemPos[1] + 'px';
columnChart2.renderTo.style.left = xPos + 'px';
}
}
}
此代码将图例显示为圆圈,<<<
我想将图例显示为条形,如下图所示。
我的要求是图例应显示为条形而不是圆圈
这里你可以看看我的代码:
Highcharts.chart('flow', {
chart: {
plotBackgroundColor: null,
plotBorderWidth: null,
plotShadow: false,
type: 'pie',
width: 500,
height: 260,
style:{
marginBottom:"30px"
}
},
title: {
text: 'Flow',
x: 90,
y: 80,
style:{
fontSize:"25px",
fontWeight:600
}
},
tooltip: {
pointFormat: '{series.name}: <b>{point.percentage:.1f}%</b>'
},
plotOptions: {
pie: {
allowPointSelect: true,
cursor: 'pointer',
dataLabels: {
enabled: true,
distance:-30,
color:'white',
fontSize:'9px',
format: '{point.percentage:.1f} %',
style: {
textOutline: false
}
},
showInLegend: true
}
},
credits: {
enabled: false
},
legend: {
align: 'right',
layout: 'vertical',
verticalAlign: 'middle',
x: -100,
y: 90,
},
series: [{
name: 'Flow',
colorByPoint: true,
data: [{
name: 'Owned',
y: 74,
color:"#f5990f"
},{
name: 'Invited',
y: 36,
color:"#fce61e"
}]
}]
});
Highcharts.chart('flow', { 图表: { plotBackgroundColor:空, plotBorderWidth:空, 情节阴影:假的, 类型:'pie', 宽度:500, 身高:260, 风格:{ marginBottom:"30px" } }, 标题: { 文本:'Flow', ×:90, 是:80, 风格:{ 字体大小:“25px”, fontWeight:600 } }, 工具提示:{ pointFormat: '{series.name}: {point.percentage:.1f}%' }, 绘图选项:{ 馅饼:{ allowPointSelect:真, 光标:'pointer', 数据标签:{ 启用:真, 距离:-30, 颜色:'white', fontSize:'9px', 格式:'{point.percentage:.1f} %', 风格: { 文本大纲:假 } }, showInLegend:真 } }, 学分:{ 启用:假 }, 传奇: { 对齐:'right', 布局:'vertical', 垂直对齐:'middle', ×:-100, 是:90, }, 系列: [{ 姓名:'Flow', colorByPoint:真, 数据: [{ 姓名:'Owned', 是:74, 颜色:“#f5990f” },{ 姓名:'Invited', 是:36, 颜色:“#fce61e” }] }] });
如果我能得到任何帮助来实现这一目标,我将不胜感激。谢谢!
您可以创建额外的 column
图表并将它们放在图例项下:
chart: {
events: {
load: function() {
var columnChart1 = Highcharts.chart("columnChart1", columnChartOptions),
columnChart2,
xPos = this.legend.group.translateX,
yPos = this.legend.group.translateY,
items = this.legend.allItems;
columnChartOptions.series[0].data = [76];
columnChartOptions.series[0].color = 'yellow';
columnChart2 = Highcharts.chart("columnChart2", columnChartOptions);
columnChart1.renderTo.style.top = yPos + 50 + 15 + items[0]._legendItemPos[1] + 'px';
columnChart1.renderTo.style.left = xPos + 'px';
columnChart2.renderTo.style.top = yPos + 50 + 15 + items[1]._legendItemPos[1] + 'px';
columnChart2.renderTo.style.left = xPos + 'px';
}
}
}