ChartData
Inheritance: java.lang.Object, com.aspose.slides.DomObject
All Implemented Interfaces: com.aspose.slides.IChartData
public class ChartData extends DomObject<Chart> implements IChartData
Represents data used for a chart plotting.
Methods
Method | Description |
---|---|
getChartDataWorkbook() | Gets the cells factory to create cells used for chart series or categories. |
getSeries() | Gets the series. |
getSeriesGroups() | Gets the groups of series. |
getCategories() | Gets the primary categories (or both primary and secondary categories if #getUseSecondaryCategories.getUseSecondaryCategories/#setUseSecondaryCategories(boolean).setUseSecondaryCategories(boolean) property is false). |
getUseSecondaryCategories() | If false then #getSecondaryCategories.getSecondaryCategories property return null and data in #getCategories.getCategories property is used both for primary and secondary series. |
setUseSecondaryCategories(boolean value) | If false then #getSecondaryCategories.getSecondaryCategories property return null and data in #getCategories.getCategories property is used both for primary and secondary series. |
getSecondaryCategories() | Gets the secondary categories if #getUseSecondaryCategories.getUseSecondaryCategories/#setUseSecondaryCategories(boolean).setUseSecondaryCategories(boolean) property is true. |
readWorkbookStream() | Writes the internally contained Excel workbook it into an in-memory stream. |
writeWorkbookStream(byte[] ms) | Initializes the internally contained Excel workbook with user-specified value. |
getDataSourceType() | Represents external workbook path if external data source, null otherwise |
getExternalWorkbookPath() | Represents data source of the chart |
getRange() | Gets chart data range. |
setRange(String formula) | Set chart data range. |
setExternalWorkbook(String workbookPath) | Sets external workbook as a data source for the chart. |
setExternalWorkbook(String workbookPath, boolean updateChartData) | Sets external workbook as a data source for the chart. |
switchRowColumn() | Swap the data over the axis. |
getChartDataWorkbook()
public final IChartDataWorkbook getChartDataWorkbook()
Gets the cells factory to create cells used for chart series or categories. Read-only IChartDataWorkbook.
Returns: IChartDataWorkbook
getSeries()
public final IChartSeriesCollection getSeries()
Gets the series. Read-only IChartSeriesCollection.
Returns: IChartSeriesCollection
getSeriesGroups()
public final IChartSeriesGroupCollection getSeriesGroups()
Gets the groups of series. Read-only IChartSeriesGroupCollection.
- Each group of series contains series with combinable types. Groups of combinable series types defined and described with CombinableSeriesTypesGroup enum. Also each group of series contains series witch is plotted whether on primary axes or on secondary axes (not both cases in one group). So, principle of series grouping is a grouping by type groups mentioned above and by primary/secondary plotting type. 2) Group of series contains some series properies whitch is common for each series in group (“series group properties”). “Series group properties” in ChartSeriesGroup class is read/write. Each of “series group properties” can have a read-only projection in ChartSeries class.
Returns: IChartSeriesGroupCollection
getCategories()
public final IChartCategoryCollection getCategories()
Gets the primary categories (or both primary and secondary categories if #getUseSecondaryCategories.getUseSecondaryCategories/#setUseSecondaryCategories(boolean).setUseSecondaryCategories(boolean) property is false). Read-only IChartCategoryCollection.
Example. What categories are related to series - ChartData.getCategories() or ChartData.getSecondaryCategories()? if (series.getPlotOnSecondAxis() && series.getChart().getChartData().getUseSecondaryCategories()) { // related categories are series.getChart().getChartData().getSecondaryCategories() } else { // related categories are series.getChart().getChartData().getCategories() }
If #getUseSecondaryCategories.getUseSecondaryCategories/#setUseSecondaryCategories(boolean).setUseSecondaryCategories(boolean) property is false then (#getSecondaryCategories.getSecondaryCategories) property return null and data in this #getCategories.getCategories property is used both for primary and secondary series. If #getUseSecondaryCategories.getUseSecondaryCategories/#setUseSecondaryCategories(boolean).setUseSecondaryCategories(boolean) property is true then data in (#getSecondaryCategories.getSecondaryCategories) property is used for secondary series and data in this #getCategories.getCategories property is used for primary series.
Returns: IChartCategoryCollection
getUseSecondaryCategories()
public final boolean getUseSecondaryCategories()
If false then #getSecondaryCategories.getSecondaryCategories property return null and data in #getCategories.getCategories property is used both for primary and secondary series. If true then data in #getSecondaryCategories.getSecondaryCategories property is used for secondary series and data in #getCategories.getCategories property is used for primary series. Read/write boolean.
Example. What categories are related to series - ChartData.getCategories() or ChartData.getSecondaryCategories()? if (series.getPlotOnSecondAxis() && series.getChart().getChartData().getUseSecondaryCategories()) { // related categories are series.getChart().getChartData().getSecondaryCategories() } else { // related categories are series.getChart().getChartData().getCategories() }
Returns: boolean
setUseSecondaryCategories(boolean value)
public final void setUseSecondaryCategories(boolean value)
If false then #getSecondaryCategories.getSecondaryCategories property return null and data in #getCategories.getCategories property is used both for primary and secondary series. If true then data in #getSecondaryCategories.getSecondaryCategories property is used for secondary series and data in #getCategories.getCategories property is used for primary series. Read/write boolean.
Example. What categories are related to series - ChartData.getCategories() or ChartData.getSecondaryCategories()? if (series.getPlotOnSecondAxis() && series.getChart().getChartData().getUseSecondaryCategories()) { // related categories are series.getChart().getChartData().getSecondaryCategories() } else { // related categories are series.getChart().getChartData().getCategories() }
Parameters:
Parameter | Type | Description |
---|---|---|
value | boolean |
getSecondaryCategories()
public final IChartCategoryCollection getSecondaryCategories()
Gets the secondary categories if #getUseSecondaryCategories.getUseSecondaryCategories/#setUseSecondaryCategories(boolean).setUseSecondaryCategories(boolean) property is true. Read-only IChartCategoryCollection.
Example. What categories are related to series - ChartData.getCategories() or ChartData.getSecondaryCategories()? if (series.getPlotOnSecondAxis() && series.getChart().getChartData().getUseSecondaryCategories()) { // related categories are series.getChart().getChartData().getSecondaryCategories() } else { // related categories are series.getChart().getChartData().getCategories() }
If #getUseSecondaryCategories.getUseSecondaryCategories/#setUseSecondaryCategories(boolean).setUseSecondaryCategories(boolean) property is false then this (#getSecondaryCategories.getSecondaryCategories) property return null and data in #getCategories.getCategories property is used both for primary and secondary series. If #getUseSecondaryCategories.getUseSecondaryCategories/#setUseSecondaryCategories(boolean).setUseSecondaryCategories(boolean) property is true then data in this #getSecondaryCategories.getSecondaryCategories property is used for secondary series and data in #getCategories.getCategories property is used for primary series.
Returns: IChartCategoryCollection
readWorkbookStream()
public final byte[] readWorkbookStream()
Writes the internally contained Excel workbook it into an in-memory stream.
Returns: byte[] - Returns an instance of MemoryStream containing a copy of the internally contained Excel workbook.
writeWorkbookStream(byte[] ms)
public final void writeWorkbookStream(byte[] ms)
Initializes the internally contained Excel workbook with user-specified value.
Parameters:
Parameter | Type | Description |
---|---|---|
ms | byte[] | The user-supplied stream containing the entire Excel workbook. |
getDataSourceType()
public final int getDataSourceType()
Represents external workbook path if external data source, null otherwise
Returns: int
getExternalWorkbookPath()
public final String getExternalWorkbookPath()
Represents data source of the chart
Returns: java.lang.String
getRange()
public final String getRange()
Gets chart data range.
Presentation pres = new Presentation(); try { IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.PercentsStackedBar, 0, 0, 100, 100); String result = ((ChartData)chart.getChartData()).getRange(); } finally { if (pres != null) pres.dispose(); }
Returns: java.lang.String - Cells data range formula. E.g: “Sheet1!$A$1:$C$4”
setRange(String formula)
public final void setRange(String formula)
Set chart data range. Series and categories will be updated based on new data range. If amount of series in data range greater than count of series in the chart data then additional series with the same type as a last series in the current collection will be added to the end of the collection.
Parameters:
Parameter | Type | Description |
---|---|---|
formula | java.lang.String | The cells data range formula. E.g: “Sheet1!$A$1:$C$4” , “SomeSheetName!A1:B100”, “Sheet1!$A$1:$B$5;Sheet1!$D$1:$D$5”. |
setExternalWorkbook(String workbookPath)
public final void setExternalWorkbook(String workbookPath)
Sets external workbook as a data source for the chart. Chart data will be updated from the target workbook.
Presentation pres = new Presentation(); try { IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Pie, 50, 50, 400, 600, true); IChartData chartData = chart.getChartData(); ((ChartData)chartData).setExternalWorkbook("../../workbook.xlsx"); } finally { if (pres != null) pres.dispose(); }
Parameters:
Parameter | Type | Description |
---|---|---|
workbookPath | java.lang.String | Path to the target workbook |
setExternalWorkbook(String workbookPath, boolean updateChartData)
public final void setExternalWorkbook(String workbookPath, boolean updateChartData)
Sets external workbook as a data source for the chart.
Presentation pres = new Presentation(); try { IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Pie, 50, 50, 400, 600, true); IChartData chartData = chart.getChartData(); ((ChartData).setExternalWorkbook("http://path/doesnt/exists", false); } finally { if (pres != null) pres.dispose(); }
Parameters:
Parameter | Type | Description |
---|---|---|
workbookPath | java.lang.String | Path to the target workbook |
updateChartData | boolean | If value is false only workbook path will be updated. Chart data won’t be loaded and updated from the target workbook. Can be used when target workbook doesn’t exist or it’s not available. If value is true chart data will be updated from the target workbook. |
switchRowColumn()
public final void switchRowColumn()
Swap the data over the axis. Data being charted on the X axis will move to the Y axis and vice versa.