我有一个像这样的高图表代码:
Highcharts.chart('linechart', {
chart: {
backgroundColor:'rgba(255, 255, 255, 0.8)',
borderRadius:5,
},
title: {
text: 'ROC Graph'
},
subtitle: {
text: 'Learning Evaluation'
},
xAxis: {
min: 0,
max: 1,
tickWidth:1,
tickPositions: [0.001, 0.01, 0.1,1]
},
yAxis: {
max: 1,
tickInterval:0.1,
title: {
text: 'Number of Employees'
}
},
legend: {
layout: 'vertical',
align: 'right',
verticalAlign: 'middle'
},
plotOptions: {
series: {
pointStart: 0.30
}
},
});
我的javascript代码:
for(j=0; j<data.roc_buffer[i]['xs'].length/10;j++){
x_plot = data.roc_buffer[i]['xs'][10*j]
y_plot = data.roc_buffer[i]['ys'][10*j]
plot_buffer[j] = {'x':x_plot, 'y':y_plot}
}
roc_chart.addSeries({
name: data.roc_buffer[i]['plotname'],
data: plot_buffer
});
但是,我希望[0.001,0.01,0.1,1]都具有相同的宽度,所以我需要调整xaxis以输入logarithm。所以我将代码切换到:
xAxis: {
type: 'logarithmic',
minorTickInterval: 0.1
},
现在这条线消失了......
此外,我的数据类似于
[{x:integer,y:integer},{x:integer,y:integer},{x:integer,y:integer},...]
答案 0 :(得分:0)
我的理解。
您的xAxis和yAx都是动态生成的值。
您可以使用针对yAxis的setData方法和针对xAxis的setCategories设置数据。
$('#button').click(function () {
highchart.series[0].setData([1, 2, 4, 8, 16]);
highchart.xAxis[0].setCategories(['J', 'F', 'M', 'A', 'M']);});
或检查jsfiddle链接