var channels = [{
"channel": "(Other)",
"pageviews": 1388082,
"sessions": 314263,
"avg_time": 54.94890183937861
}, {
"channel": "Referral",
"pageviews": 364869,
"sessions": 50387,
"avg_time": 58.104753437736335
}, {
"channel": "Direct",
"pageviews": 92538,
"sessions": 22118,
"avg_time": 59.21658970091479
}, {
"channel": "Organic Search",
"pageviews": 23470,
"sessions": 4246,
"avg_time": 51.96215449005384
}, {
"channel": "Social",
"pageviews": 8317,
"sessions": 1931,
"avg_time": 58.63430399702078
}];
var xValues = [[], []];
var yValues = [];
var zValues = [[], []];
var nc = -1;
var cat = ['Page Views/Sessions', 'Avg. Time on Site'];
var x = 0;
var layout = {
title: 'Sessions',
annotations: [],
xaxis: {
ticks: '',
side: 'bottom',
tickvals: [0, 1],
tickmode: 'array',
ticktext: cat
},
yaxis: {
ticks: '',
ticksuffix: ' ',
autosize: false
}
};
var result = {};
var txt;
channels.forEach(function(i) {
xValues[0].push(0);
xValues[1].push(1);
yValues.push(i.channel);
zValues[0].push(parseInt(i.pageviews/i.sessions));
zValues[1].push(parseInt(i.avg_time));
nc++;
for (x = 0; x < cat.length; x += 1) {
result = {
xref: 'x1',
yref: 'y1',
x: x,
y: i.channel,
text: zValues[x][nc],
font: {
family: 'Arial',
size: 12,
color: 'rgb(50, 171, 96)'
},
showarrow: false
};
layout.annotations.push(result);
}
});
var data = [{
type: 'heatmap',
x: xValues[0],
y: yValues,
z: zValues[0],
colorscale: 'Greens',
showscale: false
}, {
type: 'heatmap',
x: xValues[1],
y: yValues,
z: zValues[1],
colorscale: 'Reds',
showscale: false
}];
Plotly.newPlot('graph', data, layout);
<script src="https://cdn.plot.ly/plotly-latest.min.js"></script>
<div id="graph"></div>
など、代わりにそれらを配列に入れている2つの変数を使用しての、未使用の変数を除去し、可能な限りあなたのスクリプトは同じくらい簡単にしてみましたピーター、助けてくれてありがとう。私はX軸とY軸を編集しましたが、それは実際には助けになりましたが、まだ正しくレンダリングされていません。事は、私は2つのヒートマップを互いに独立させる必要があるということです(X1とX2)。これは編集された[jsfiddle](http://jsfiddle.net/u27r8gq5/3/)です。まだレンダリングされていないのはなぜですか? – Costantin
@Costantin:更新された回答とhttp://jsfiddle.net/csggefu8/を参照してください。 –
こんにちは@マクシミリアンピーターズ、これは素晴らしいです!どうもありがとうございます!私がちょうど最後のことであなたを気にすることができれば、なぜ色が正しく表示されないのか知っていますか?たとえば、[ここ](https://jsfiddle.net/qcnL8n2c/)の** 4 **は完全に白いです。スニペットでも** 5 **は白です。なぜこれが起こるのか知っていますか? – Costantin