Javascript 将您自己的系列放在highcharts sereis中
我正在尝试将我的_系列传递到highcharts中的系列,以绘制堆叠的条形图。从我的php中,我得到哈希,如下所示: {“燕麦”:{“10”:“AA”,“11”:“H”},“糙米”:{“10”:“AA”,“11”:“BB”} 我实际上不知道我的代码出了什么问题。我认为它应该可以工作,但当我运行它时,我在屏幕上看不到任何东西。我检查了一下,样品的名字有“燕麦”和“糙米”,这正是我想要的 我最终想要的是一个彩色编码的堆叠条形图,它在yAxis上有样本,在xAxis上有位置。我想我几乎达到了我想要的,这只是一个制作实际图表的问题 谢谢大家!Javascript 将您自己的系列放在highcharts sereis中,javascript,php,json,highcharts,Javascript,Php,Json,Highcharts,我正在尝试将我的_系列传递到highcharts中的系列,以绘制堆叠的条形图。从我的php中,我得到哈希,如下所示: {“燕麦”:{“10”:“AA”,“11”:“H”},“糙米”:{“10”:“AA”,“11”:“BB”} 我实际上不知道我的代码出了什么问题。我认为它应该可以工作,但当我运行它时,我在屏幕上看不到任何东西。我检查了一下,样品的名字有“燕麦”和“糙米”,这正是我想要的 我最终想要的是一个彩色编码的堆叠条形图,它在yAxis上有样本,在xAxis上有位置。我想我几乎达到了我想要的,
$(function() {
var allele_str = [];
var sample_name = [];
var hash = {};
var my_series = {
data: []
};
var position = [];
var options = {
chart: {
renderTo: 'container',
defaultSeriesType: 'bar',
zoomType: 'xy',
inverted: true
},
title: {
text: 'Gene'
},
xAxis: {
categories: [],
},
legend: {
enabled: false
},
yAxis: {
title: {
text: 'Position'
},
labels: {
enabled: false
}
}
plotOptions: {
series: {
stacking: 'normal'
}
}
series: []
};
$.getJSON('6K_load.php', function(data) {
sample_name = Object.keys(data);
options.xAxis.categories.push(sample_name);
for (var x in sample_name) { // sample Oat, BR
for (var k in data[sample_name[x]]) { // pos
series.name = k;
var z = data[sample_name[x]][k];
hash[z] = 1;
allele_str.y = hash[z];
if (z === 'AA') {
allele_str.color = 'grey';
}
if (z === 'BB') {
allele_str.color = 'blue';
}
if (z === '--') {
allele_str.color = 'white';
}
if (z === 'H') {
allele_str.color = 'red';
}
my_series.data.push(allele_str);
}
options.series.push(my_series);
}
var chart = new Highcharts.Chart(options);
});
});
问题是,如果您没有将数据解析为数值,则需要在此行中使用parseFloat()
my_series.data.push(parseFloat(allele_str));
您是否已将
图表
附加到DOM中?这可能是一个显而易见的问题,但我只是问:-)是的,我问了。我想把数据推到一系列的高图中可能会有问题。你能把数据放在我的系列中吗。这可能会对我们有所帮助。我想从我的_系列中得到的是y值为1,颜色名称为颜色。例如,如果我的z是“H”,我想要等位基因y=1,等位基因color=red,这样当我制作条形图时,它的条形图颜色是红色的。基本上,我使用的是highcharts的堆叠条形码,但对其进行一些操作,以便具有相同series.name的条形图可以具有不同的颜色。