1

を使用してdojox.charting.widget.Chart2Dおり、 からデータを取得しようとしていますdojo.data.ItemFileReadStore。データを取得でき、項目にカスタム ラベルを表示する方法が見つからないことを除いて、すべてが機能し、表示されます。私のHTMLスニペットは次のとおりです。

<div dojoType="dojo.data.ItemFileReadStore" jsId="chartDataStore" 
    url="json/archiveinfo.json.php"></div>
<div dojoType="dojox.charting.widget.Chart2D" id="chartTest" 
    theme="dojox.charting.themes.PlotKit.blue" style="width: 300px; height: 300px;">
  <div class="plot" name="default" type="Pie" fontColor="black" htmlLabels="false" 
    radius="100"></div>
  <div class="series" name="Series A" store="chartDataStore" field="y" 
    label="text" valueFn="Number(x)"></div>
  <div class="action" type="Tooltip"></div>
  <div class="action" type="MoveSlice"></div>
</div>

そして、ItemFileReadStore からの私の JSON は次のとおりです。

{"identifier":"id","labelAttribute":"text","items":
  [
    {"id":1,"y":55,"text":"Free"},
    {"id":2,"y":45,"text":"Used"}
  ]
}

シリーズで label 属性を設定しようとしlabelAttributeましたが、JSON で設定しました。私もlabelJSONだけで試してみましたが、うまくいきませんでした。データを JSON としてarray提供するかdata、シリーズで直接提供すると、ラベルが機能します。DataStore を介してデータを提供することで、より柔軟にしたかったのです。

4

2 に答える 2

1

その方法は、JSON を少し変更し、HTML の対応する属性を更新することです。

JSON:

{
  "items": [
    {"id":1, "slice": {"y":55,"text":"Free"}},
    {"id":2, "slice": {"y":45,"text":"Used"}}
  ]
}

slice唯一の重要な変更は、わかりやすくするためにサブオブジェクト ( ) 内のパイ固有のデータを分離することです。

HTML (ストア関連の行のみを変更する必要があります):

<div class="series" name="Series A"
  store="chartDataStore" field="slice"></div>

それがどうなるか教えてください。

于 2010-01-11T07:24:57.657 に答える
-1

divでチャートを作成するためにプログラムによる方法を使用していましたが、カスタムラベルで同様の問題に直面しなければなりませんでした....

var mytooltip = new dojox.charting.action2d.Tooltip(mychart,"default", 
    {text: function(e) {
               var tooltiptext = <construct ur custom label here>   
               return tooltiptext;
        }
    }); 

mychartチャートウィジェットを作成するために使用した変数です....

于 2012-02-07T18:27:35.083 に答える