チャート データの選択: フレキシブル

www.altova.com すべてを展開/折りたたむ このトピックを印刷 前のページ 1つ上のレベル 次のページ

ホーム >  デザインオブジェクト/機能 > チャート > チャート データの選択 >

チャート データの選択: フレキシブル

このセクション:

 

フレキシブルなチャート データの選択について
1 つの行、 1 つの系列
3 つの行、 3 つの系列、カテゴリーの値はマージされていません
3 つの行、 3 つの系列、カテゴリーの値はマージされています
1 つの行、 3 つの系列
チャート データの選択のルール

 

フレキシブルなチャート データの選択について

[チャート構成] ダイアログの [チャート データ セレクター] ペイン (下のスクリーンショット) で、フレキシブルオプションにより、 XPath 式を使用して、 系列軸 (Z-軸)、 X-軸、および Y-軸のデータを自由に選択することができます。軸の XPath 式は、その軸にプロットされたアイテムのシーケンスを返します。軸に対してのこれらの (アイテムの) シーケンスは、チャートを生成するために順番になれらべられます。

ChartDataSelectorOview

次の点に注意してください:

 

系列は X-軸 (カテゴリー 軸) 目盛のセットに対してプロットされた値の系列を指します。2番目の系列は、同じ X-軸の目盛の2番目の値のセットに対してプロットされます。例えば、 X-軸が 2008、2009、と 2010 年度を表し、 Y-軸が売上高を表す場合、 系列 1 は、  米国 (米国でのこれら 3 年間の売り上げ)、 系列 2 は、 欧州 (欧州でのこれら 3 年間の売り上げ) を表示します。このデータに対し棒グラフが選択されている場合、 X-軸の各年度 (2008、2009、2010) には、2 本の棒 (米国と欧州) が表示されます。 円グラフおよび単一棒グラフの場合、 1 つの系列のみ使用することができます。各チャートの種類に関下は チャートの種類のテーブルを参照してください。
[チャート データ セレクター] ペインの各行は、系列を表します。
チャートの XPath コンテキスト ノードは、デザイン内のチャートコントロールの上にページソースペインからノードをドロップすることにより定義されます。
For-Each 列の XPath 式は、他の3つの XPath 式の評価のコンテキストを提供します。For-Each XPath 式は、デザインに挿入されたノードのコンテキストで評価されます。

 

次の例は、軸に対してデータを選択する際の重要な点を説明しています。下にリストされるXML ドキュメントを参照しています。

 

Click to expand/collapse listingこのサンプルで使用される XML ファイル: YearlySales.xml

 

<?xml version="1.0" encoding="UTF-8"?>

<Data xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 

      xsi:noNamespaceSchemaLocation="YearlySales.xsd">

 <ChartType>Pie Chart 2D</ChartType>

 <Region id="Americas">

         <Year id="2005">30000</Year>

         <Year id="2006">90000</Year>

         <Year id="2007">120000</Year>

         <Year id="2008">180000</Year>

         <Year id="2009">140000</Year>

         <Year id="2010">100000</Year>

 </Region>

 <Region id="Europe">

         <Year id="2005">50000</Year>

         <Year id="2006">60000</Year>

         <Year id="2007">80000</Year>

         <Year id="2008">100000</Year>

         <Year id="2009">95000</Year>

         <Year id="2010">80000</Year>

 </Region>

 <Region id="Asia">

         <Year id="2005">10000</Year>

         <Year id="2006">25000</Year>

         <Year id="2007">70000</Year>

         <Year id="2008">110000</Year>

         <Year id="2009">125000</Year>

         <Year id="2010">150000</Year>

 </Region>

</Data>

 

1 つの行、 1 つの系列

2D 棒グラフを Region 要素(3つの要素があります:米国、欧州、アジア)に対して生成するとします。要素ノードの中のデザインにチャートを作成するとします。チャート データ セレクターの For-Each XPath 式のコンテキストノードは、 Region 要素となります。

ChartDataSelectorOview

上のスクリーンショットで表示されているデータの選択では、For-Each 式は、(Region 要素である)現在のノードを返します。ですから、 Region 要素は、その他3つの XPath 式 (系列、X-軸、および Y-軸) のコンテキスト ノードとなります。このチャートに系列は1つしか存在しないため、系列名は必要なくこの列は空白になります。 X-軸の選択は 6 つの値を返します。 6 は X-軸の目盛の数となり、シーケンスの6つのアイテムは X-軸の目盛の相対するラベルとなります。Y-軸の選択もまた6つのアイテムを返します。各アイテムは対応する X-軸の目盛に対して Y-軸にプロットされます。チャートは、 Region 要素内に作成されているため、チャートは 3 つの Region 要素のためにそれぞれ作成されます。各チャートに対して、その特定の Region 要素の子孫ノードが使用されます。

 

米国 地域のチャートの出力は以下のように表示されます:

ChartBar2DAmericas

 

3 つの行、 3 つの系列、カテゴリーの値はマージされていません

複数の系列を作成する場合、下のスクリーンショットで表示されているように、行を追加することができます。

ChartDataSelFlex02

上のデータの選択に関して次の点に注意してください:

 

(チャートは Data ノードを XPath コンテキストノードとするため) 各行は、系列を定義し、すべての行は Data  要素をコンテキストノードとして持ちます。
最初の行は、米国の系列を定義し、文字列式を系列の名前として与えます。X-軸の値は欧州地域の Year/@id 値を使用して選択されます。(すべての地域はの Year/@id 値を持つため、どの地域を選択してもかまいません。)。 最初(米国)の系列 Y-軸の値は、述語フィルターを使用して、米国地域のために選択されます。
2 番目と 3 番目の系列は、1 番目の系列と同じパターンで行われます。各系列の X-軸の選択は同じですが、 カテゴリー値をマージ のチェックボックスがチェックされていないため、2 番目と 3 番目の式は無視されます。 (値がマージされたとしても、各系列の値は同じなため、違いはありません; 新しい異なる値のみがカテゴリーの値に追加されます。)

 

上のデータ選択を使用して生成されたチャートは以下のように表示されます:

ChartBar2DSeries

 

3 つの行、 3 つの系列、カテゴリーの値はマージされています

この例のデータの選択 (下のスクリーンショット参照) は、前述の 2 つの例と 3 つの面で異なります: (i) 3 番目の系列の X-軸の選択に余分なアイテム (2011) が追加されています  (ii) カテゴリーの値をマージ チェック ボックスがチェックされています (iii) Y-軸の目盛の間隔が手動で 20000 に設定されています。

ChartDataSelFlex02Merge

この変更の効果は新しいアイテム (2011) を X-軸の結果シーケンスに追加することです。チャートは以下のように表示されます:

ChartDataSelFlex02MergeShot

 

1 つの行、 3 つの系列

この例で作成されるチャートには XPath コンテキストノードとして Data ノードがあります (上のXML ドキュメントを参照してください)。1 つの行のみがデータの選択に使用されていますが、3 つの系列を生成します。 これは、For-Each 列の XPath 式が 3 つのアイテムのシーケンスを返し、明確的に 3 つの系列を作成するからです。

ChartDataSelFlex03

各系列は異なる Region 要素をコンテキストノードとして持つため、するため For-Each 系列、系列名、X-A軸、Y-軸の選択は、異なる地域に対応します。 このデータの選択のチャートは次のように表示されます:

ChartBar2DSeries

 

チャート データの選択のルール

異なるチャートの軸のためにデータを選択するチャートデータセレクターを使用する場合、次の点に注意してください:

 

1.棒の数 (または円グラフの扇形の数など) は、X-軸 または Y-軸の単一のデータ行の選択のシーケンスの大きい方のアイテムの数と同じです。ですから、 (ラベルを与える) X-軸 には 5 つのアイテムがあり、  (値を与える) Y-軸 には 6 つのアイテムがある場合、 6 本の棒がプロットされますが、最後の棒にはラベルがありません。 X-軸に 6 つアイテムがあり、 Y-軸に 5 つアイテムがある場合、6 本の棒がプロットされ、最後の棒にはラベルがありますが値は0 となります。
2.系列の数は、 For-Each 列の式により返されたすべてのシーケンスのアイテムの累積された数となります。
3.系列の名前は Z-軸 (または系列の名前 軸) の XPath 式と共に選択されます。 データの選択行の XPath 式が空の場合、名前の系列は作成されません。また、XPath 式が系列の数より少ない数のアイテムのシーケンスを返す場合、系列には名前が与えられません。

 


(C) 2019 Altova GmbH