## org.apache.poi.xssf.usermodel
Class XSSFChart

    java.lang.Object
      org.apache.poi.POIXMLDocumentPart
          org.apache.poi.xssf.usermodel.XSSFChart

All Implemented Interfaces:
  Chart, ChartAxisFactory, ManuallyPositionable

    public final class XSSFChart

extends POIXMLDocumentPart
implements Chart, ChartAxisFactory

Represents a SpreadsheetML Chart

Author:
  Nick Burch, Roman Kashitsyn

Field Summary

Fields inherited from class org.apache.poi.POIXMLDocumentPart
`DEFAULT_XML_OPTIONS`

Constructor Summary
`protected` `XSSFChart()` Create a new SpreadsheetML chart
`protected` `XSSFChart(PackagePart part, PackageRelationship rel)` Construct a SpreadsheetML chart from a package part.

Method Summary
`protected void` `commit()` Save the content in the underlying package part.
`XSSFValueAxis` `createValueAxis(AxisPosition pos)`
`void` `deleteLegend()` Delete current chart legend.
`java.util.List<? extends XSSFChartAxis>` `getAxis()`
`XSSFChart` `getChartAxisFactory()`
`XSSFChartDataFactory` `getChartDataFactory()`
`org.openxmlformats.schemas.drawingml.x2006.chart.CTChart` `getCTChart()` Return the underlying CTChart bean, within the Chart Space
`org.openxmlformats.schemas.drawingml.x2006.chart.CTChartSpace` `getCTChartSpace()` Return the underlying CTChartSpace bean, the root element of the SpreadsheetML Chart part.
`XSSFGraphicFrame` `getGraphicFrame()` Returns the parent graphic frame.
`XSSFManualLayout` `getManualLayout()` Returns manual layout for the chart element.
`XSSFChartLegend` `getOrCreateLegend()`
`XSSFRichTextString` `getTitle()` Returns the title, or null if none is set
`boolean` `isPlotOnlyVisibleCells()`
`void` `plot(ChartData data, ChartAxis... axis)` Plots specified data on the chart.
`protected void` `setGraphicFrame(XSSFGraphicFrame frame)` Sets the parent graphic frame.
`void` `setPlotOnlyVisibleCells(boolean plotVisOnly)`

Methods inherited from class org.apache.poi.POIXMLDocumentPart
`addRelation, createRelationship, createRelationship, createRelationship, getPackagePart, getPackageRelationship, getParent, getRelationById, getRelationId, getRelations, getTargetPart, onDocumentCreate, onDocumentRead, onDocumentRemove, onSave, read, rebase, removeRelation, removeRelation, toString`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### XSSFChart

    protected XSSFChart()

  Create a new SpreadsheetML chart

### XSSFChart

    protected XSSFChart(PackagePart part,
                        PackageRelationship rel)
                 throws java.io.IOException,
                        org.apache.xmlbeans.XmlException

  Construct a SpreadsheetML chart from a package part.

  Parameters:
    `part` - the package part holding the chart data, the content type must be `application/vnd.openxmlformats-officedocument.drawingml.chart+xml`
    `rel` - the package relationship holding this chart, the relationship type must be http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart
  Throws:
    `java.io.IOException`
    `org.apache.xmlbeans.XmlException`

Method Detail

### getCTChartSpace

    @Internal
    public org.openxmlformats.schemas.drawingml.x2006.chart.CTChartSpace getCTChartSpace()

  Return the underlying CTChartSpace bean, the root element of the SpreadsheetML Chart part.

  Returns:
    the underlying CTChartSpace bean

### getCTChart

    @Internal
    public org.openxmlformats.schemas.drawingml.x2006.chart.CTChart getCTChart()

  Return the underlying CTChart bean, within the Chart Space

  Returns:
    the underlying CTChart bean

### commit

    protected void commit()
                   throws java.io.IOException

  Description copied from class: `POIXMLDocumentPart`
  Save the content in the underlying package part. Default implementation is empty meaning that the package part is left unmodified. Sub-classes should override and add logic to marshal the "model" into Ooxml4J. For example, the code saving a generic XML entry may look as follows:

       protected void commit() throws IOException {
         PackagePart part = getPackagePart();
         OutputStream out = part.getOutputStream();
         XmlObject bean = getXmlBean(); //the "model" which holds changes in memory
         bean.save(out, DEFAULT_XML_OPTIONS);
         out.close();
       }

  Overrides:
    `commit` in class `POIXMLDocumentPart`
  Throws:
    `java.io.IOException`

### getGraphicFrame

    public XSSFGraphicFrame getGraphicFrame()

  Returns the parent graphic frame.

  Returns:
    the graphic frame this chart belongs to

### setGraphicFrame

    protected void setGraphicFrame(XSSFGraphicFrame frame)

  Sets the parent graphic frame.

### getChartDataFactory

    public XSSFChartDataFactory getChartDataFactory()

  Specified by:
    `getChartDataFactory` in interface `Chart`
  Returns:
    an appropriate ChartDataFactory implementation

### getChartAxisFactory

    public XSSFChart getChartAxisFactory()

  Specified by:
    `getChartAxisFactory` in interface `Chart`
  Returns:
    an appropriate ChartAxisFactory implementation

### plot

    public void plot(ChartData data,
                     ChartAxis... axis)

  Description copied from interface: `Chart`
  Plots specified data on the chart.

  Specified by:
    `plot` in interface `Chart`
  Parameters:
    `data` - a data to plot

### createValueAxis

    public XSSFValueAxis createValueAxis(AxisPosition pos)

  Specified by:
    `createValueAxis` in interface `ChartAxisFactory`
  Returns:
    new value axis

### getAxis

    public java.util.List<? extends XSSFChartAxis> getAxis()

  Specified by:
    `getAxis` in interface `Chart`
  Returns:
    list of all chart axis

### getManualLayout

    public XSSFManualLayout getManualLayout()

  Description copied from interface: `ManuallyPositionable`
  Returns manual layout for the chart element.

  Specified by:
    `getManualLayout` in interface `ManuallyPositionable`
  Returns:
    manual layout for the chart element.

### isPlotOnlyVisibleCells

    public boolean isPlotOnlyVisibleCells()

  Returns:
    true if only visible cells will be present on the chart, false otherwise

### setPlotOnlyVisibleCells

    public void setPlotOnlyVisibleCells(boolean plotVisOnly)

  Parameters:
    `plotVisOnly` - a flag specifying if only visible cells should be present on the chart

### getTitle

    public XSSFRichTextString getTitle()

  Returns the title, or null if none is set

### getOrCreateLegend

    public XSSFChartLegend getOrCreateLegend()

  Specified by:
    `getOrCreateLegend` in interface `Chart`
  Returns:
    chart legend instance

### deleteLegend

    public void deleteLegend()

  Description copied from interface: `Chart`
  Delete current chart legend.

  Specified by:
    `deleteLegend` in interface `Chart`

Copyright 2012 The Apache Software Foundation or its licensors, as applicable.