サンプル:円グラフ

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

ホーム >  SPS ファイル: コンテンツ > チャート >

サンプル:円グラフ

このセクションでは、YearlySales.sps ファイルに含まれている 2D ならびに 3D の円グラフを取り上げます。この SPS デザインは YearlySales.xsd XML スキーマをベースにしており、(以下のスクリーンショットにある)YearlySales.xml を作業用 XML ファイルとして使用しています。これらのファイルは、 (マイ) ドキュメントフォルダーC:\Documents and Settings\<username>\My Documents\Altova\StyleVision2019\StyleVisionExamples/Tutorial/Charts に含まれています。

 

Click to expand/collapse listingXML file used in charts example: 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>

 

 

SPS ファイルを StyleVision で開いたら、Authentic プレビューに切り替え、Chart type のコンボボックスにて Pie Chart 2D または Pie Chart 3D を選択してください。

 

Click to expand/collapse

 

 

両方(2D の円グラフと 3D の円グラフ)を選択すると、4つのグラフが表示されます。最初の3つのチャートでは、各地域の年間売上高が表示されます。これら円グラフは、各々が特定地域を表しており、円グラフにおける各スライスは、その地域における年ごとの年間売上高を表しています。

 

 

ChartExPiePerRegion

 

これらチャートのチャート設定を確認するには、デザインビューに切り替えた後に、最初の条件タグにて適切な分岐タグを選択し、チャートを右クリックしてチャート設定の編集を選択します。 チャート構成ダイアログが表示されます。

 

 

地域ごとの年間売上高グラフに関して、以下の点に注意してください:

 

1.チャートは Region 要素内に挿入されているため、コンテキストノードは Region 要素となります。そのため、XSLT エンジンにより Region 要素がイタレーションされるたびに円グラフが作成されます。
2.各チャートのタイトル には Region/@id 属性の値が含まれます。動的 XPath 設定ボタンをクリックして、どのような設定が行われているか確認することができます。
3.必要な系列は1つだけなので、Z-軸または系列名の軸には入力を行いません。これでデフォルトの無名系列が作成されます。
4.X-軸により円グラフのスライスに使用されるラベルが選択され、この場合は 2005 から 2010 までが XPath 条件式の Year/@id により選択されます(以下のスクリーンショットを参照)。

 

ChartDataSelector

 

5.Y-軸により円グラフの各スライスに表示される値が選択されます。この例では、Region 要素の子要素である Year 要素のコンテンツが使用されます。
6.円グラフに表示されるスライスの数は、 チャートデータセレクターのルール により決定されます。以下に示されるような選択が行われた場合、2011年の売上として60000のスライスが追加されます。

 

ChartExPiePerRegionVar

 

7.X-軸に対して選択されたシーケンスのアイテムは、円グラフに表示されるラベルと同じ順序で割り当てられます。X-軸のアイテムにより 凡例アイテムも作成されます。
8.各系列における X-軸と Y-軸の数は等しくなっているべきですが、仮にそうでなかったとしてもエラーにはなりません。X-軸のアイテム数が Y-軸のそれより少ない場合、(対応する X-軸のアイテムを持たない)スライスがラベルなしで円グラフに表示されます。X-軸アイテムの数が Y-軸のそれよりも多い場合、これら X-軸のアイテムは無視されますが、 凡例アイテムとして生成されます。

 

軸データを選択する XPath 式条件式にて、変数を使用する

2D 円グラフのサンプルには、年ごとの市場シェアを表す円グラフが表示されます(以下のスクリーンショットを参照)。

 

ChartExPieMktShare

 

Authentic プレビューの Select Year コンボボックスにて該当年の選択が変更されると、円グラフに表示されている値が、選択された年のものに更新されます。このような処理は、(i) Authentic にて編集可能な変数 ($SelectYear) 内部にユーザーの選択を保管し、(ii) この変数を for $i in //Year[@id=$SelectYear] return $i という XPath 条件式にて使用することで、Y-軸の選択に使用される対象を変更することにより実現します。デザインビューからチャート構成ダイアログを開き、データ選択設定を確認してください。X-軸のラベルには対応する円グラフスライスのパーセンテージも表示されており、この表示はチャートの 詳細設定 により変更することができます。これらの設定ではY-軸の値をラベルに含めるかを指定することもできます。

 

XPath 条件式の機能を使った複雑なデータ選択

データ選択を行う際には、目的の原子型アイテムのシーケンスが各軸(X と Y)に対して返されるように注意する必要があります。最後の 3D 円グラフには年ごとの全世界売上高が表示されます。データの選択に使用される XPath 条件式を以下に示します:

 

X-軸: for $i in distinct-values(//Year/@id) return $i

選択結果: 2005, 2006, 2007, 2008, 2009, 2010

 

Y-軸: for $i in distinct-values(//Year/@id) return sum(//Year[@id=$i])

選択結果として、その年の全世界における売上高の合計が返されます。つまり、選択された年における全地域の合計売上高となります。

 

 

 


(C) 2019 Altova GmbH