【发布时间】:2021-05-27 16:41:30
【问题描述】:
所以我在条形图(图表库 highcharts)中添加了自定义图像。但是图像是从上到下填充的,所以底部的图像被切割但x轴(下图)。
到目前为止我写的代码
var redrawEnabled = true,
ctr = 0;
Highcharts.chart('container', {
chart: {
type: 'column',
events: {
load: function(){
if(this.options.chart.type == 'column'){
this.xAxis[0].update({
reversed: false
});
}
},
render: function() {
if (redrawEnabled) {
redrawEnabled = false;
var chart = this,
renderer = chart.renderer;
chart.series[0].points.forEach(function(p) {
var widthRatio = p.shapeArgs.width / p.shapeArgs.height
id = 'pattern-' + p.index + '-' + ctr;
var pattern = renderer.createElement('pattern').add(renderer.defs).attr({
width: 1,
height: widthRatio,
id: id,
patternContentUnits: 'objectBoundingBox'
});
renderer.image('coin6.png', 0, 0, 1, widthRatio).attr({}).add(pattern);
p.update({
color: 'url(#' + id + ')'
}, false);
});
ctr++;
chart.redraw();
redrawEnabled = true;
}
}
},
},
title: {
text: null
},
legend:{ enabled:false },
xAxis: {
labels: {
style: {
color: 'red',
fontSize:'10px'
}
},
categories: [
'Jan',
'Feb',
'Mar',
'Apr',
'May',
'Jun',
'Jul',
'Aug',
'Sep',
'Oct',
'Nov',
'Dec'
],
crosshair: false,
},
yAxis: {
min: 0,
tickLength: 0,
visible: false,
},
plotOptions: {
bar: {
stacking: 'normal',
},
},
series: [{
pointWidth: 30,
data: [49.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 144.0, 176.0, 135.6, 148.5,]
}]
});
1st :- 所以我想从底部开始图像,使其在底部看起来相似。所以我希望图像模式从下到上流动。 2nd :- 我可以对图像图案应用填充和边距,以便我可以正确堆叠硬币图像
我想实现硬币堆栈作为附加的图像。 final result I want to achieve
【问题讨论】:
-
请在我可以处理的在线编辑器上重现您的案例。这是我的尝试:jsfiddle.net/BlackLabel/st17869e - 似乎需要这个图片链接
-
嗨@SebastianWędzel,我已经创建了工作jsfiddle:链接:-jsfiddle.net/lalitcse/4mz8pwab/5和图片链接:-i.ibb.co/BZ9phG2/coin6.png。谢谢
-
@SebastianWędzel 和我想为未来一个月添加不同的硬币图像(未来几个月预测数据将会出现),如图所示:-(i.ibb.co/R2v6S5b/one.png)。未来日期硬币图片链接(i.ibb.co/WnfycgC/preddict-coin.png)。
标签: javascript jquery svg highcharts char