以编程方式绘制直线和直线在高图与缩放
Programmatically draw rect and line in Highcharts with zoom
我正在使用Highcharts在Highcharts中进行一些编程绘制。渲染器使用path()
和rect()
。在下面的代码中,我手动绘制了直线和矩形的坐标,实际上它们与主数据系列(带值的日期)相关。
我如何以编程方式绘制一些东西并使缩放工作?
主图,缩放:
chart: {
zoomType: 'x',
},
xAxis: {
categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
},
series: [{
data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]
}]
程序图:
chart.renderer.rect(100, 110, 100, 100, 5)
.attr({
'stroke-width': 2,
stroke: 'red',
fill: 'transparent',
zIndex: 3
})
.add();
var path = [
'M', 100, 100,
'L', 130, 110,
'L', 160, 105,
'L', 190, 150,
];
chart.renderer.path(path)
.attr({
'stroke-width': 2,
stroke: 'blue',
zIndex: 4
})
.add();
http://jsfiddle.net/n8ro1b9m/1/现在您并没有真正使用您的图表值-您正在独立于您的系列绘制您的矩形和路径。您可以使用点y和x值和Axis.toPixels()方法将您的绘图与图表连接起来:http://api.highcharts.com/highcharts/Axis.toPixels
$(function() {
var addRect = function(chart) {
$('.rect').remove();
var xAxis = chart.xAxis[0],
yAxis = chart.yAxis[0]
chart.renderer.rect(xAxis.toPixels(1), 110, xAxis.toPixels(2) - xAxis.toPixels(1), 100, 5)
.attr({
'stroke-width': 2,
stroke: 'red',
fill: 'transparent',
zIndex: 0
}).addClass('rect')
.add();
chart.renderer.rect(0, 0, chart.plotLeft, chart.chartHeight + chart.plotTop, 5)
.attr({
fill: 'white',
zIndex: 0
}).addClass('rect')
.add();
};
$('#container').highcharts({
chart: {
zoomType: 'x',
events: {
redraw: function() {
addRect(this);
},
load: function() {
addRect(this);
}
}
},
xAxis: {
categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
},
series: [{
data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]
}]
});
});
这里你可以看到一个例子,它是如何工作的:http://jsfiddle.net/n8ro1b9m/4/
您可以在函数中使用series.data
值:
chart.series[0].data[i].y
用i
表示序列中点的个数。这是你想做的吗?
相关文章:
- 更改高贴图的缩放级别
- 将直流图表库中的折线图缩放限制为小时
- 将时间缩放添加到折线图(Chart.js)
- 缩放仅适用于一个图元
- 升级到 jQuery 1.8 后出现高图缩放问题
- D3.js:调整缩放示例以使用折线图
- 如何在“控制缩放”下的“打开图层”上添加一些图像
- 高图表 - 在缩放重置中设置最大值和最小值
- 缩放图:具有链接时间轴的多个时间表
- d3.js带缩放的多线图:线错误
- d3.js网络图缩放
- 如何在高图中缩放缩放事件的svg路径
- 高图缩放问题时,平移反向x轴
- 高品质缩放画布drawImage()
- 根据图表上的每个系列的缩放级别动态地向高图添加平均值
- 以编程方式绘制直线和直线在高图与缩放
- d3.js散点图-缩放/拖动边界、缩放按钮、重置缩放、计算中值
- 高图,显示在缩放过程中跟随选定点的文本
- 如何在高图中同时缩放双x轴
- 高图缩放和x轴与字符串数组的类别