gpt4 book ai didi

javascript - 使用 Chart.renderer.text 渲染表格

转载 作者:行者123 更新时间:2023-11-28 06:44:34 36 4
gpt4 key购买 nike

有没有办法使用chart.render.textHighcharts中渲染表格?

格式似乎不正确。

function(chart) { // on complete

chart.renderer.text(' <table><th>Browsers</th><tr></tr><tr><td><strong>Total Good</strong></td><td id="total" align="right">900</td></tr><tr><td><strong>Total Bad</strong></td><td id="renew" align="right">450</td></tr></table> ', 150, 80)
.css({
color: '#4572A7',
fontSize: '16px'
})
.add();

fiddle

最佳答案

如果您需要打印表格,您应该单独进行。我的意思是对线条使用 renderer.path,对标签使用 renderer.text。

    Highcharts.drawTable = function() {

// user options
var tableTop = 310,
colWidth = 100,
tableLeft = 20,
rowHeight = 20,
cellPadding = 2.5,
valueDecimals = 1,
valueSuffix = ' °C';

// internal variables
var chart = this,
series = chart.series,
renderer = chart.renderer,
cellLeft = tableLeft;

// draw category labels
$.each(chart.xAxis[0].categories, function(i, name) {
renderer.text(
name,
cellLeft + cellPadding,
tableTop + (i + 2) * rowHeight - cellPadding
)
.css({
fontWeight: 'bold'
})
.add();
});

$.each(series, function(i, serie) {
cellLeft += colWidth;

// Apply the cell text
renderer.text(
serie.name,
cellLeft - cellPadding + colWidth,
tableTop + rowHeight - cellPadding
)
.attr({
align: 'right'
})
.css({
fontWeight: 'bold'
})
.add();

$.each(serie.data, function(row, point) {

// Apply the cell text
renderer.text(
Highcharts.numberFormat(point.y, valueDecimals) + valueSuffix,
cellLeft + colWidth - cellPadding,
tableTop + (row + 2) * rowHeight - cellPadding
)
.attr({
align: 'right'
})
.add();

// horizontal lines
if (row == 0) {
Highcharts.tableLine( // top
renderer,
tableLeft,
tableTop + cellPadding,
cellLeft + colWidth,
tableTop + cellPadding
);
Highcharts.tableLine( // bottom
renderer,
tableLeft,
tableTop + (serie.data.length + 1) * rowHeight + cellPadding,
cellLeft + colWidth,
tableTop + (serie.data.length + 1) * rowHeight + cellPadding
);
}
// horizontal line
Highcharts.tableLine(
renderer,
tableLeft,
tableTop + row * rowHeight + rowHeight + cellPadding,
cellLeft + colWidth,
tableTop + row * rowHeight + rowHeight + cellPadding
);

});

// vertical lines
if (i == 0) { // left table border
Highcharts.tableLine(
renderer,
tableLeft,
tableTop + cellPadding,
tableLeft,
tableTop + (serie.data.length + 1) * rowHeight + cellPadding
);
}

Highcharts.tableLine(
renderer,
cellLeft,
tableTop + cellPadding,
cellLeft,
tableTop + (serie.data.length + 1) * rowHeight + cellPadding
);

if (i == series.length - 1) { // right table border

Highcharts.tableLine(
renderer,
cellLeft + colWidth,
tableTop + cellPadding,
cellLeft + colWidth,
tableTop + (serie.data.length + 1) * rowHeight + cellPadding
);
}

});


};

/**
* Draw a single line in the table
*/
Highcharts.tableLine = function (renderer, x1, y1, x2, y2) {
renderer.path(['M', x1, y1, 'L', x2, y2])
.attr({
'stroke': 'silver',
'stroke-width': 1
})
.add();
}

示例:-http://www.highcharts.com/docs/getting-started/frequently-asked-questions#add-data-table

关于javascript - 使用 Chart.renderer.text 渲染表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33503574/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com