Javascript 如何在组列图表上显示图像?
我有一张团体表 我想在每个屏幕的顶部显示图像 所以只有两个图像,所以xaxis子类别中的值如果值为负,我想显示image2,如果值为正,则显示image1 我已经看到了这个答案,但在组图中无法找到 我的组图是小提琴 我的代码:Javascript 如何在组列图表上显示图像?,javascript,jquery,highcharts,Javascript,Jquery,Highcharts,我有一张团体表 我想在每个屏幕的顶部显示图像 所以只有两个图像,所以xaxis子类别中的值如果值为负,我想显示image2,如果值为正,则显示image1 我已经看到了这个答案,但在组图中无法找到 我的组图是小提琴 我的代码: Highcharts.setOptions({ colors: [ '#5a9bd4', '#faa75b', '#7ac36a', '#9e67ab', '#f15a60', '#ce7058', '#d
Highcharts.setOptions({
colors: [
'#5a9bd4',
'#faa75b',
'#7ac36a',
'#9e67ab',
'#f15a60',
'#ce7058',
'#d77fb4'
]
});
var chart = new Highcharts.Chart({
chart: {
renderTo: 'container',
type: 'column'
},
title: {
text: 'Chart Title'
},
credits: {
enabled: false
},
legend: {},
tooltip: {
shared: true,
formatter: function() {
var s = [],
xAxis = this.points[0].series.xAxis,
categoryIndex = xAxis.categories.indexOf(this.x),
title = this.x,
subTitle = xAxis.options.subtitles[categoryIndex];
s.push(title + '<br>');
s.push(subTitle + '<br>');
$.each(this.points, function(i, point) {
s.push('<span style="color:#D31B22;font-weight:bold;">' + point.series.name + ' : ' +
point.y + '<span>');
});
return s.join(' and ');
},
},
plotOptions: {
series: {
shadow: false,
borderWidth: 0,
pointPadding: 0
}
},
xAxis: {
subtitles: ['2', '-1', '4', '-3', '7'],
categories: ['MainTask 1', 'MainTask2', 'MainTask3', 'MainTask4', 'MainTask5'],
lineColor: '#999',
lineWidth: 1,
tickColor: '#666',
tickLength: 3,
title: {
text: 'X Axis Title',
style: {
color: '#333'
}
}
},
yAxis: {
lineColor: '#999',
lineWidth: 1,
tickColor: '#666',
tickWidth: 1,
tickLength: 3,
gridLineColor: '#ddd',
title: {
text: 'Y Axis Title',
rotation: 0,
margin: 50,
style: {
color: '#333'
}
}
},
series: [{
y: 0,
mydata: 10,
name: 'Designation 1',
data: [7, 12, 16, 32, 64]
}, {
y: 0,
mydata: 20,
name: 'Designation 2',
data: [16, 32, 64, 7, 12]
}, {
y: 0,
mydata: 30,
name: 'Designation 3',
data: [32, 64, 7, 12, 16],
}, {
mydata: 13,
name: 'Designation 4',
data: [7, 12, 16, 32, 64]
}, {
y: 0,
mydata: 23,
name: 'Designation 5',
data: [16, 32, 64, 7, 12]
}, {
y: 0,
mydata: 22,
name: 'Designation 6',
data: [32, 64, 7, 12, 16]
}]
});
Highcharts.setOptions({
颜色:[
“#5a9bd4”,
"faa75b",,
"7ac36a",,
"9e67ab",,
"f15a60",,
"ce7058",,
"d77fb4"
]
});
var图表=新的Highcharts.图表({
图表:{
renderTo:'容器',
类型:“列”
},
标题:{
文本:“图表标题”
},
学分:{
已启用:false
},
图例:{},
工具提示:{
分享:是的,
格式化程序:函数(){
var s=[],
xAxis=this.points[0].series.xAxis,
categoryIndex=xAxis.categories.indexOf(this.x),
title=this.x,
subTitle=xAxis.options.subtitles[categoryIndex];
s、 推送(标题+“
”);
s、 按(字幕+“
”);
$.each(this.points,function(i,point){
s、 推送(''+point.series.name+'':'+
点y+“”);
});
返回s.join('and');
},
},
打印选项:{
系列:{
影子:错,
边框宽度:0,
点填充:0
}
},
xAxis:{
字幕:['2'、'-1'、'4'、'-3'、'7'],
类别:['MainTask 1'、'MainTask2'、'MainTask3'、'MainTask4'、'MainTask5'],
线条颜色:'#999',
线宽:1,
勾选颜色:'#666',
长度:3,
标题:{
文本:“X轴标题”,
风格:{
颜色:“#333”
}
}
},
亚克斯:{
线条颜色:'#999',
线宽:1,
勾选颜色:'#666',
宽度:1,
长度:3,
gridLineColor:“#ddd”,
标题:{
文本:“Y轴标题”,
轮换:0,
差额:50,
风格:{
颜色:“#333”
}
}
},
系列:[{
y:0,
我的数据:10,
名称:“名称1”,
数据:[7,12,16,32,64]
}, {
y:0,
我的数据:20,
名称:“名称2”,
数据:[16,32,64,7,12]
}, {
y:0,
我的数据:30,
名称:“名称3”,
数据:[32,64,7,12,16],
}, {
我的数据:13,
名称:“名称4”,
数据:[7,12,16,32,64]
}, {
y:0,
我的数据:23,
名称:“名称5”,
数据:[16,32,64,7,12]
}, {
y:0,
我的数据:22,
名称:“名称6”,
数据:[32,64,7,12,16]
}]
});
只需使用渲染器.image
即可在图表上添加图像。例如,您可以在load
事件中执行此操作
API参考:示例:
实际上,我想要一幅关于某些数据的图像。您可以获得每个点的x和y值,使用Axis.toPixels()函数()将其更改为像素值,并使用此坐标渲染图像。示例:。实际上,如果副标题中的值为负数,则我需要基于条件的图像。如果为负数,则显示图像1,如果为正数,则显示图像2。我给出了一个示例,说明如何简单地将图像添加到图表中。它们何时显示或在什么条件下显示,取决于您。您可以自己添加适当的条件,例如在load事件中。