Altova XMLSpy 2023 Enterprise Edition

单击新建图表按钮时,将弹出“选择列”对话框(参见下方截图),其中指定了图表的三个基本数据选择参数。这些参数(如下所列)用于构建图表数据表格。

 

源XPath:对话框打开时会自动输入一个XPath表达式。它将选择XML文档中的节点,该节点在访问“选择列”对话框时被选中。您可以使用键盘在对话框中对其进行编辑。包含索引复选框确定是否在XPath中使用谓词过滤器(有关详细信息,请参见源XPath)。源XPath选择的节点的子节点将可作为X轴和Y轴的数据列进行选择。“列搜索深度”组合框决定了要搜索多少个级别以返回可用于X轴和Y轴数据选择的节点。编辑源XPath后,您必须单击更新列以使更改生效,并刷新对话框中的X轴和Y轴列表。

X轴:在此组合框中,您可以指定哪个节点将被用作X轴。此选择返回的序列将提供X轴上的标签。组合框中的自动枚举选项为X轴提供编号标签。请注意,为Y轴创建的XPath表达式也可以在X轴组合框中进行选择。

Y轴:在此窗格中选中的条目将是节点,其数值将表示为Y轴的数值。全部清除全部标记按钮分别取消选择所有项和选择Y轴窗格中的所有项。插入XPath按钮可以生成一个数据系列,该系列由于不是源XPath返回的节点的子节点而无法使用。为X轴选择的节点或XPath表达式对Y轴不可用并且显示为灰色。

ChartSelectColumnsDlg

 

如何创建图表数据表格

用于图表的数据由“选择列”对话框中的选择决定。我们将通过一个示例说明如何选择图表数据。由于XML文档(参见下方截图)包含三个Region元素,源XPath /Data/Region依次选择它们中的每一个。将每个Region元素作为上下文节点,然后生成数据列。对于源XPath选择的每个Region元素,请执行以下操作:

 

1.X轴表达式生成第一列(默认情况下,该列将是用于X轴标签的列)。

2.为每个系列(Y轴选择)生成一列。

 

为上方显示的“选择列”对话框生成的图表数据可以如下表所示进行可视化。

 

源XPath

X轴

Y轴(系列轴)

Region[1]

@id

Year[1]

Year[2]

Year[3]

Year[4]

Year[5]

Year[6]

Region[2]

@id

Year[1]

Year[2]

Year[3]

Year[4]

Year[5]

Year[6]

Region[3]

@id

Year[1]

Year[2]

Year[3]

Year[4]

Year[5]

Year[6]

 

从这些数据生成的条形图如下所示:

ChartXAxis01

请注意以下几点:

 

X轴上的刻度数由源XPath表达式返回的序列的大小决定(在本例中为三个)。

源XPath返回的节点将是上下文节点,分别用于为X轴上的每个刻度生成两组数据:(i) X轴刻度标签(使用X轴选择),以及(ii) 为该刻度绘制的所有系列(使用Y轴选择来选择这些系列)。为X轴和Y轴输入的XPath表达式将在这些(源XPath)节点的上下文中进行评估。

X轴选择返回的序列将是每个刻度的标签。如果标签的数量少于刻度,则某些刻度将保持未标记状态。

每个系列(例如Year[1])对每个上下文节点进行一次评估。对于某些图表,例如饼图或单个条形图,仅能使用一个系列。

图例是使用数据系列中条目的名称创建的。

 

这是用于上述示例的XML文档,供您参考。它名为YearlySales.xml并位于C:\Documents and Settings\<username>\My Documents\Altova\XMLSpy2023\Examples\Tutorial文件夹中。

 

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

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

      xsi:noNamespaceSchemaLocation="YearlySales.xsd">

 <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>

 

 

上方“选择列”对话框中显示的数据选择可以在“选择数据”对话框的表格中看到(参见下方截图)。可以通过单击图表输出窗口中的选择数据按钮来访问“选择数据”对话框。

ChartSelectDataModifyX

有关“选择列”对话框中各个参数的更多详细信息,请参见以下部分:源XPathX轴选择Y轴选择以及图表数据

 

© 2017-2023 Altova GmbH