この質問は、Excel とチャートの質問とプログラミングの質問の一部です。
PHPExcel を使用して、グラフ データを Excel シートから json に変換します。次に、この json を使用して、そのデータをハイチャート互換のデータソースに変換します。
これまでのところ、PHPExcel には、ラベル、カテゴリ、および値の 3 つの異なるデータ型で格納されたチャートがあります。私が理解できる限り、値はグラフのデータ系列であり、カテゴリは x 軸のポイントです。
ただし、散布図 (xy) を Excel からエクスポートすると、カテゴリと値が反転しているように見えます。Values は、各子要素がその兄弟要素と同じデータを含む配列です。(誤ったグラフを作成する) 一方で、カテゴリの値が異なるようになりました。
したがって、他のグラフでは次のようなデータが生成されます。
{
"data": [{
"label": "V3",
"category": "T4:T43",
"value": "V4:V43"
}, {
"label": "W3",
"category": "T4:T43",
"value": "W4:W43",
}
],
"type": "column"
}
散布図が生成されます。
{
"title": "",
"data": [{
"label": "AC1",
"category": "A$2:AC98",
"value": "AB2:AB98"
}, {
"label": "AD1"
"category": "AD2:AD98"
"value": "AB2:AB98"
}, {
"label": "AE1",
"category": "AE2:AE98",
"value": "AB2:AB98"
}
],
"type": "scatter"
}
カテゴリ キーと値キーの違いと同等性に注目してください。
縦棒グラフのデータでは、「値」がデータ系列間で異なります。しかし、カテゴリは同じです。
散布図データでは、カテゴリはデータ系列間で異なりますが、値は等しく、縦棒グラフの反対です。
では、ここで何が起こっているのでしょうか?
散布図はこのように定義されており、このデータを変換するために必要な措置を講じる必要がありますか? またはこれは PHPExcel のバグですか?
解決策は何ですか?「タイプ」が「スキャッター」の場合、単に「値」を「カテゴリー」と交換しますか?
これに関する洞察は大歓迎です!