0

この質問は、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 のバグですか?

解決策は何ですか?「タイプ」が「スキャッター」の場合、単に「値」を「カテゴリー」と交換しますか?

これに関する洞察は大歓迎です!

4

2 に答える 2

0

私の解決策は、データを前処理して、「値」キーをカテゴリ データセットに変換し、「カテゴリ」をデータシリーズに変換することでした。次に、チャートを次のように構成しましたinverted: true

于 2013-04-29T17:12:20.093 に答える