# ISparklineGroups

## Content

<div class="docapp-java-api-doc-main"><style>:not(h1, h2, h3, h4, h5, h6)>code,
:not(h1, h2, h3, h4, h5, h6)>tt {
    font-size: 14px;
    padding-top: 4px;
    margin-top: 8px;
    line-height: 1.4em;
}

.summary-table dt code {
    font-size: 14px;
    vertical-align: top;
    padding-top: 4px;
}

.tab {
    background-color: #0066FF;
    color: #ffffff;
    padding: 8px;
    width: 5em;
    font-weight: bold;
}

/*
 * Styles for page header and footer.
 */
.title {
    color: #2c4557;
    margin: 10px 0;
}

.sub-title {
    margin: 5px 0 0 0;
}

.header ul {
    margin: 0 0 15px 0;
    padding: 0;
}

.header ul li,
.footer ul li {
    list-style: none;
}

/*
 * Styles for headings.
 */
.summary h2,
.details h2,
h2,
.block-list h2 {
    padding: 0;
    margin: 15px 0;
}

.summary h3,
.details h3,
.summary .inherited-list h2 {
    background-color: var(--ds-product-color);
    color: #fff;
    border: 1px solid #d0d9e0;
    padding: 7px 5px;
}

.summary h3 a,
.details h3 a,
.summary .inherited-list h2 a {
    color: #fff !important;
}
/*
 * Styles for page layout containers.
 */
dl.notes>dt {
    font-size: 12px;
    font-weight: bold;
    margin: 10px 0 0 0;
    color: #4E4E4E;
}

dl.notes>dd {
    margin: 5px 10px 10px 0;
    font-size: 14px;
}

dl.name-value>dt {
    margin-left: 1px;
    font-size: 1.1em;
    display: inline;
    font-weight: bold;
}

dl.name-value>dd {
    margin: 0 0 0 1px;
    font-size: 1.1em;
    display: inline;
}

/*
 * Styles for lists.
 */
li.circle {
    list-style: circle;
}

ul.horizontal li {
    display: inline;
    font-size: 0.9em;
}

div.inheritance {
    margin: 0;
    padding: 0;
}

div.inheritance div.inheritance {
    margin-left: 2em;
}

ul.block-list,
ul.details-list,
ul.member-list,
ul.summary-list {
    margin: 10px 0 10px 0;
    padding: 0;
}

ul.block-list>li,
ul.details-list>li,
ul.member-list>li,
ul.summary-list>li {
    list-style: none;
    margin-bottom: 15px;
    line-height: 1.4;
}

.summary-table dl,
.summary-table dl dt,
.summary-table dl dd {
    margin-top: 0;
    margin-bottom: 1px;
}

ul.see-list,
ul.see-list-long {
    padding-left: 0;
    list-style: none;
}

ul.see-list li {
    display: inline;
}

ul.see-list li:not(:last-child):after,
ul.see-list-long li:not(:last-child):after {
    content: ", ";
    white-space: pre-wrap;
}

/*
 * Styles for tables.
 */
.summary-table,
.details-table {
    width: 100%;
    border-spacing: 0;
    border-left: 1px solid #EEE;
    border-right: 1px solid #EEE;
    border-bottom: 1px solid #EEE;
    padding: 0;
}

.caption {
    position: relative;
    text-align: left;
    background-repeat: no-repeat;
    color: #253441;
    font-weight: bold;
    clear: none;
    overflow: hidden;
    padding: 0;
    padding-top: 10px;
    padding-left: 1px;
    margin: 0;
    white-space: pre;
}

.caption a:link,
.caption a:visited {
    color: #1f389c;
}

.caption a:hover,
.caption a:active {
    color: #FFFFFF;
}

.caption span {
    white-space: nowrap;
    padding-top: 5px;
    padding-left: 12px;
    padding-right: 12px;
    padding-bottom: 7px;
    display: inline-block;
    background-color: var(--ds-product-color);
    color: #fff;
    border: none;
}

div.table-tabs {
    padding: 10px 0 0 1px;
    margin: 0;
}

div.table-tabs>button {
    border: none;
    cursor: pointer;
    padding: 5px 12px 7px 12px;
    font-weight: bold;
    margin-right: 3px;
}

div.table-tabs>button.active-table-tab {
    background: var(--ds-product-color);
    color: #fff;
}

div.table-tabs>button.table-tab {
    background: var(--ds-product-color);
    color: #FFFFFF;
    border-bottom: 1px solid #eee;
}

.two-column-summary {
    display: grid;
    grid-template-columns: minmax(15%, max-content) minmax(15%, auto);
}

.three-column-summary {
    display: grid;
    grid-template-columns: minmax(10%, max-content) minmax(15%, max-content) minmax(15%, auto);
}

.four-column-summary {
    display: grid;
    grid-template-columns: minmax(10%, max-content) minmax(10%, max-content) minmax(10%, max-content) minmax(10%, auto);
}

@media screen and (max-width: 600px) {
    .two-column-summary {
        display: grid;
        grid-template-columns: 1fr;
    }
}

@media screen and (max-width: 800px) {
    .three-column-summary {
        display: grid;
        grid-template-columns: minmax(10%, max-content) minmax(25%, auto);
    }

    .three-column-summary .col-last {
        grid-column-end: span 2;
    }
}

@media screen and (max-width: 1000px) {
    .four-column-summary {
        display: grid;
        grid-template-columns: minmax(15%, max-content) minmax(15%, auto);
    }
}

.summary-table>div,
.details-table>div {
    text-align: left;
    padding: 8px 3px 3px 7px;
}

.col-first,
.col-second,
.col-last,
.col-constructor-name,
.col-summary-item-name {
    vertical-align: top;
    padding-right: 0;
    padding-top: 8px;
    padding-bottom: 3px;
}

.table-header {
    background: var(--ds-product-color);
    color: #fff;
    font-weight: bold;
}

.col-first,
.col-first {
    font-size: 13px;
}

.col-second,
.col-second,
.col-last,
.col-constructor-name,
.col-summary-item-name,
.col-last {
    font-size: 13px;
}

.col-first,
.col-second,
.col-constructor-name {
    vertical-align: top;
    overflow: auto;
}

.col-last {
    white-space: normal;
}

.col-first a:link,
.col-first a:visited,
.col-second a:link,
.col-second a:visited,
.col-first a:link,
.col-first a:visited,
.col-second a:link,
.col-second a:visited,
.col-constructor-name a:link,
.col-constructor-name a:visited,
.col-summary-item-name a:link,
.col-summary-item-name a:visited,
.constant-values-container a:link,
.constant-values-container a:visited,
.all-classes-container a:link,
.all-classes-container a:visited,
.all-packages-container a:link,
.all-packages-container a:visited {
    font-weight: bold;
}

.table-sub-heading-color {
    background-color: #EEEEFF;
}

.even-row-color,
.even-row-color .table-header {
    background-color: #FFFFFF;
}

.odd-row-color,
.odd-row-color .table-header {
    background-color: #EEEEEF;
}

/*
 * Styles for contents.
 */
.deprecated-content {
    margin: 0;
    padding: 10px 0;
}

div.block {
    font-size: 14px;
}

.col-last div {
    padding-top: 0;
}

.col-last a {
    padding-bottom: 3px;
}

.module-signature,
.package-signature,
.type-signature,
.member-signature {
    font-size: 14px;
    margin: 14px 0;
    white-space: pre-wrap;
}

.module-signature,
.package-signature,
.type-signature {
    margin-top: 0;
}

.member-signature .type-parameters-long,
.member-signature .parameters,
.member-signature .exceptions {
    display: inline-block;
    vertical-align: top;
    white-space: pre;
}

.member-signature .type-parameters {
    white-space: normal;
}

/*
 * Styles for formatting effect.
 */
.source-line-no {
    color: green;
    padding: 0 30px 0 0;
}

h1.hidden {
    visibility: hidden;
    overflow: hidden;
    font-size: 10px;
}

.block {
    display: block;
    margin: 0 10px 5px 0;
    color: #474747;
}

.deprecated-label,
.descfrm-type-label,
.implementation-label,
.member-name-label,
.member-name-link,
.module-label-in-package,
.module-label-in-type,
.override-specify-label,
.package-label-in-type,
.package-hierarchy-label,
.type-name-label,
.type-name-link,
.search-tag-link,
.preview-label {
    font-weight: bold;
}

.deprecation-block {
    font-size: 14px;
    border-style: solid;
    border-width: thin;
    border-radius: 10px;
    padding: 10px;
    margin-bottom: 10px;
    margin-right: 10px;
    display: inline-block;
}

.preview-block {
    font-size: 14px;
    border-style: solid;
    border-width: thin;
    border-radius: 10px;
    padding: 10px;
    margin-bottom: 10px;
    margin-right: 10px;
    display: inline-block;
}

/*
 * Styles for user-provided tables.
 *
 * borderless:
 *      No borders, vertical margins, styled caption.
 *      This style is provided for use with existing doc comments.
 *      In general, borderless tables should not be used for layout purposes.
 *
 * plain:
 *      Plain borders around table and cells, vertical margins, styled caption.
 *      Best for small tables or for complex tables for tables with cells that span
 *      rows and columns, when the "striped" style does not work well.
 *
 * striped:
 *      Borders around the table and vertical borders between cells, striped rows,
 *      vertical margins, styled caption.
 *      Best for tables that have a header row, and a body containing a series of simple rows.
 */

table.borderless,
table.plain,
table.striped {
    margin-top: 10px;
    margin-bottom: 10px;
}

table.borderless>caption,
table.plain>caption,
table.striped>caption {
    font-weight: bold;
    font-size: smaller;
}

table.borderless th,
table.borderless td,
table.plain th,
table.plain td,
table.striped th,
table.striped td {
    padding: 2px 5px;
}

table.borderless,
table.borderless>thead>tr>th,
table.borderless>tbody>tr>th,
table.borderless>tr>th,
table.borderless>thead>tr>td,
table.borderless>tbody>tr>td,
table.borderless>tr>td {
    border: none;
}

table.borderless>thead>tr,
table.borderless>tbody>tr,
table.borderless>tr {
    background-color: transparent;
}

table.plain {
    border-collapse: collapse;
    border: 1px solid black;
}

table.plain>thead>tr,
table.plain>tbody tr,
table.plain>tr {
    background-color: transparent;
}

table.plain>thead>tr>th,
table.plain>tbody>tr>th,
table.plain>tr>th,
table.plain>thead>tr>td,
table.plain>tbody>tr>td,
table.plain>tr>td {
    border: 1px solid black;
}

table.striped {
    border-collapse: collapse;
    border: 1px solid black;
}

table.striped>thead {
    background-color: #E3E3E3;
}

table.striped>thead>tr>th,
table.striped>thead>tr>td {
    border: 1px solid black;
}

table.striped>tbody>tr:nth-child(even) {
    background-color: #EEE
}

table.striped>tbody>tr:nth-child(odd) {
    background-color: #FFF
}

table.striped>tbody>tr>th,
table.striped>tbody>tr>td {
    border-left: 1px solid black;
    border-right: 1px solid black;
}

table.striped>tbody>tr>th {
    font-weight: normal;
}
</style><h1>Interface ISparklineGroups</h1>
<!-- ======== START OF CLASS DATA ======== -->

<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Superinterfaces:</dt>
<dd><code><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang">Iterable</a>&lt;<a href="ISparklineGroup.html" title="interface in com.grapecity.documents.excel">ISparklineGroup</a>&gt;</code></dd>
</dl>
<hr>
<div class="type-signature"><span class="modifiers">public interface </span><span class="element-name type-name-label">ISparklineGroups</span><span class="extends-implements">
extends <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang">Iterable</a>&lt;<a href="ISparklineGroup.html" title="interface in com.grapecity.documents.excel">ISparklineGroup</a>&gt;</span></div>
<div class="block">Represents a collection of sparkline groups. <p>An  <code>ISparklineGroups</code> object is associated with an <a href="IRange.html" title="interface in com.grapecity.documents.excel"><code>IRange</code></a> and provides access to the sparkline groups in that range. Use this interface to  add new sparkline groups, retrieve existing groups, clear sparklines, group  selected sparklines, and iterate through the collection.</p>
<pre><code data-language="Java">
 Object[][] data = new Object[][] {
     {1, 2, 3},
     {4, 5, 6},
     {7, 8, 9},
     {10, 11, 12}
 };
 worksheet.getRange("A1:C4").setValue(data);
 ISparklineGroups sparklineGroups = worksheet.getRange("D1:D4").getSparklineGroups();
 sparklineGroups.add(SparkType.Line, "A1:C4");
 ISparklineGroup sparklineGroup = sparklineGroups.get(0);
 </code></pre></div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div aria-orientation="horizontal" class="table-tabs" role="tablist"><button aria-controls="method-summary-table.tabpanel" aria-selected="true" class="active-table-tab" id="method-summary-table-tab0" onclick="show('method-summary-table', 'method-summary-table', 3)" onkeydown="switchTab(event)" role="tab" tabindex="0">All Methods</button><button aria-controls="method-summary-table.tabpanel" aria-selected="false" class="table-tab" id="method-summary-table-tab2" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" onkeydown="switchTab(event)" role="tab" tabindex="-1">Instance Methods</button><button aria-controls="method-summary-table.tabpanel" aria-selected="false" class="table-tab" id="method-summary-table-tab3" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" onkeydown="switchTab(event)" role="tab" tabindex="-1">Abstract Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div aria-labelledby="method-summary-table-tab0" class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="ISparklineGroup.html" title="interface in com.grapecity.documents.excel">ISparklineGroup</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a class="member-name-link" href="#add(com.grapecity.documents.excel.SparkType,java.lang.String)">add</a><wbr>(<a href="SparkType.html" title="enum class in com.grapecity.documents.excel">SparkType</a>&nbsp;type,
 <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;sourceData)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Creates a new sparkline group and returns an  <a href="ISparklineGroup.html" title="interface in com.grapecity.documents.excel"><code>ISparklineGroup</code></a> object.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a class="member-name-link" href="#clear()">clear</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Clears the selected sparklines.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a class="member-name-link" href="#clearGroups()">clearGroups</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Clears the selected sparkline groups.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="ISparklineGroup.html" title="interface in com.grapecity.documents.excel">ISparklineGroup</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a class="member-name-link" href="#get(int)">get</a><wbr>(int&nbsp;index)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Returns the  <a href="ISparklineGroup.html" title="interface in com.grapecity.documents.excel"><code>ISparklineGroup</code></a> object from a collection.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>int</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a class="member-name-link" href="#getCount()">getCount</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Gets the number of sparkline groups in the associated  <a href="IRange.html" title="interface in com.grapecity.documents.excel"><code>IRange</code></a> object.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a class="member-name-link" href="#group()">group</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Groups the selected sparklines.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a class="member-name-link" href="#group(com.grapecity.documents.excel.IRange)">group</a><wbr>(<a href="IRange.html" title="interface in com.grapecity.documents.excel">IRange</a>&nbsp;Location)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Groups the selected sparklines.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a class="member-name-link" href="#ungroup()">ungroup</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Ungroups the sparklines in the selected sparkline group.</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Iterable">Methods inherited from interface&nbsp;java.lang.<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang">Iterable</a></h3>
<code><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html#forEach(java.util.function.Consumer)" title="class or interface in java.lang">forEach</a>, <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html#iterator()" title="class or interface in java.lang">iterator</a>, <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html#spliterator()" title="class or interface in java.lang">spliterator</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="getCount()">
<h3>getCount</h3>
<div class="member-signature"><span class="return-type">int</span>&nbsp;<span class="element-name">getCount</span>()</div>
<div class="block">Gets the number of sparkline groups in the associated  <a href="IRange.html" title="interface in com.grapecity.documents.excel"><code>IRange</code></a> object.<p>Use this method to determine how many sparkline groups are contained in the  range before accessing individual groups.</p>
<pre><code data-language="Java">
 IRange range = worksheet.getRange("A1:A3");
 worksheet.getRange("B1:B3").setValue(new Object[] {1, 3, 2});
 range.getSparklineGroups().add(SparkType.Line, "B1:B3");
 int count = range.getSparklineGroups().getCount();
 </code></pre></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The number of sparkline groups in the associated range.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="get(int)">
<h3>get</h3>
<div class="member-signature"><span class="return-type"><a href="ISparklineGroup.html" title="interface in com.grapecity.documents.excel">ISparklineGroup</a></span>&nbsp;<span class="element-name">get</span><wbr><span class="parameters">(int&nbsp;index)</span></div>
<div class="block">Returns the  <a href="ISparklineGroup.html" title="interface in com.grapecity.documents.excel"><code>ISparklineGroup</code></a> object from a collection.<p>Use this method to retrieve an existing sparkline group by its position in the  current  <code>ISparklineGroups</code> collection.</p>
<pre><code data-language="Java">
 worksheet.getRange("A1:C4").setValue(new Object[][] {
     {1, 2, 3},
     {4, 5, 6},
     {7, 8, 9},
     {10, 11, 12}
 });
 worksheet.getRange("D1:D4").getSparklineGroups().add(SparkType.Line, "A1:C4");
 ISparklineGroup sparklineGroup = worksheet.getRange("D1:D4").getSparklineGroups().get(0);
 </code></pre></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>index</code> - Specifies the position of an element in the collection.</dd>
<dt>Returns:</dt>
<dd>The <a href="ISparklineGroup.html" title="interface in com.grapecity.documents.excel"><code>ISparklineGroup</code></a> object at the specified position in the collection.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="add(com.grapecity.documents.excel.SparkType,java.lang.String)">
<h3>add</h3>
<div class="member-signature"><span class="return-type"><a href="ISparklineGroup.html" title="interface in com.grapecity.documents.excel">ISparklineGroup</a></span>&nbsp;<span class="element-name">add</span><wbr><span class="parameters">(<a href="SparkType.html" title="enum class in com.grapecity.documents.excel">SparkType</a>&nbsp;type,
 <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;sourceData)</span></div>
<div class="block">Creates a new sparkline group and returns an  <a href="ISparklineGroup.html" title="interface in com.grapecity.documents.excel"><code>ISparklineGroup</code></a> object.<p>Use this method to create sparklines in the current  <a href="ISparklineGroups.html" title="interface in com.grapecity.documents.excel"><code>ISparklineGroups</code></a> collection from the specified source data range.</p>
<pre><code data-language="Java">
 worksheet.getRange("A1:C4").setValue(new Object[][] {
     {1, 2, 3},
     {4, 5, 6},
     {7, 8, 9},
     {10, 11, 12}
 });
 ISparklineGroup sparklineGroup = worksheet.getRange("D1:D4").getSparklineGroups().add(SparkType.Line, "A1:C4");
 </code></pre></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>type</code> - The type of sparkline.</dd>
<dd><code>sourceData</code> - The range reference string to use as the source data for the sparkline group.</dd>
<dt>Returns:</dt>
<dd>The newly created <a href="ISparklineGroup.html" title="interface in com.grapecity.documents.excel"><code>ISparklineGroup</code></a> object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="clear()">
<h3>clear</h3>
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name">clear</span>()</div>
<div class="block">Clears the selected sparklines. <p>Removes the sparkline objects from the cells in the associated range without clearing  the underlying worksheet data. To remove entire sparkline groups, use  <a href="#clearGroups()"><code>clearGroups()</code></a> instead.</p>
<pre><code data-language="Java">
 Object[][] data = new Object[][] {
     {1, 2, 3},
     {4, 5, 6}
 };
 worksheet.getRange("A1:C2").setValue(data);
 worksheet.getRange("D1:D2").getSparklineGroups().add(SparkType.Line, "A1:C2");
 worksheet.getRange("D1").getSparklineGroups().clear();
 </code></pre></div>
</section>
</li>
<li>
<section class="detail" id="clearGroups()">
<h3>clearGroups</h3>
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name">clearGroups</span>()</div>
<div class="block">Clears the selected sparkline groups. <p>Removes the sparkline groups associated with the selected cells. Unlike  <a href="#clear()"><code>clear()</code></a>, this method removes entire sparkline groups rather than  only clearing individual sparkline objects from the selected cells.</p>
<pre><code data-language="Java">
 worksheet.getRange("A1:B2").setValue(new Object[][] {
     {1, 2},
     {3, 4}
 });
 worksheet.getRange("D1:D2").getSparklineGroups().add(SparkType.Line, "A1:B2");
 worksheet.getRange("D1").getSparklineGroups().clearGroups();
 </code></pre></div>
</section>
</li>
<li>
<section class="detail" id="group()">
<h3>group</h3>
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name">group</span>()</div>
<div class="block">Groups the selected sparklines. <p>Use this method to combine existing sparklines in the associated range into a sparkline group so they share the same group settings.</p>
<pre><code data-language="Java">
 IRange range = worksheet.getRange("A1:A3");
 worksheet.getRange("B1:B3").setValue(new Object[] {1, 3, 2});
 range.getSparklineGroups().add(SparkType.Line, "B1:B3");
 worksheet.getRange("D1:D3").setValue(new Object[] {2, 4, 1});
 worksheet.getRange("E1:E3").getSparklineGroups().add(SparkType.Line, "D1:D3");
 worksheet.getRange("A1:E3").getSparklineGroups().group();
 </code></pre></div>
</section>
</li>
<li>
<section class="detail" id="group(com.grapecity.documents.excel.IRange)">
<h3>group</h3>
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name">group</span><wbr><span class="parameters">(<a href="IRange.html" title="interface in com.grapecity.documents.excel">IRange</a>&nbsp;Location)</span></div>
<div class="block">Groups the selected sparklines. <p>The grouped sparklines are based on the sparkline at the specified location.  If  <code>Location</code> is <code>null</code>, the group is based on the first sparkline  in the collection.</p>
<pre><code data-language="Java">
 Object[][] data = new Object[][] {
     {1, 2, 3}, {4, 5, 6}, {7, 8, 9}, {10, 11, 12}
 };
 worksheet.getRange("A1:C4").setValue(data);
 worksheet.getRange("D1:D4").getSparklineGroups().add(SparkType.Line, "A1:C4");
 worksheet.getRange("F1:H4").setValue(data);
 worksheet.getRange("J1:J4").getSparklineGroups().add(SparkType.Column, "F1:H4");
 worksheet.getRange("A1:J4").getSparklineGroups().group(worksheet.getRange("J2"));
 </code></pre></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>Location</code> - The range that specifies which sparkline the new group is based on. If  <code>null</code>, the group is based on the first sparkline in the collection.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="ungroup()">
<h3>ungroup</h3>
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name">ungroup</span>()</div>
<div class="block">Ungroups the sparklines in the selected sparkline group. <p>Use this method on the  <a href="ISparklineGroups.html" title="interface in com.grapecity.documents.excel"><code>ISparklineGroups</code></a> collection associated with the sparkline cells to remove the current grouping of those sparklines.</p>
<pre><code data-language="Java">
 IRange range = worksheet.getRange("A1:A3");
 worksheet.getRange("B1:B3").setValue(new Object[] {1, 3, 2});
 range.getSparklineGroups().add(SparkType.Line, "B1:B3");
 range.getSparklineGroups().ungroup();
 </code></pre></div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
<script>var evenRowColor = "even-row-color";
var oddRowColor = "odd-row-color";
var tableTab = "table-tab";
var activeTableTab = "active-table-tab";

function show(tableId, selected, columns) {
    if (tableId !== selected) {
        document.querySelectorAll('div.' + tableId + ':not(.' + selected + ')')
            .forEach(function (elem) {
                elem.style.display = 'none';
            });
    }
    document.querySelectorAll('div.' + selected)
        .forEach(function (elem, index) {
            elem.style.display = '';
            var isEvenRow = index % (columns * 2) < columns;
            elem.classList.remove(isEvenRow ? oddRowColor : evenRowColor);
            elem.classList.add(isEvenRow ? evenRowColor : oddRowColor);
        });
    updateTabs(tableId, selected);
}

function updateTabs(tableId, selected) {
    document.querySelector('div#' + tableId + ' .summary-table')
        .setAttribute('aria-labelledby', selected);
    document.querySelectorAll('button[id^="' + tableId + '"]')
        .forEach(function (tab, index) {
            if (selected === tab.id || (tableId === selected && index === 0)) {
                tab.className = activeTableTab;
                tab.setAttribute('aria-selected', true);
                tab.setAttribute('tabindex', 0);
            } else {
                tab.className = tableTab;
                tab.setAttribute('aria-selected', false);
                tab.setAttribute('tabindex', -1);
            }
        });
}

function switchTab(e) {
    var selected = document.querySelector('[aria-selected=true]');
    if (selected) {
        if ((e.keyCode === 37 || e.keyCode === 38) && selected.previousSibling) {
            // left or up arrow key pressed: move focus to previous tab
            selected.previousSibling.click();
            selected.previousSibling.focus();
            e.preventDefault();
        } else if ((e.keyCode === 39 || e.keyCode === 40) && selected.nextSibling) {
            // right or down arrow key pressed: move focus to next tab
            selected.nextSibling.click();
            selected.nextSibling.focus();
            e.preventDefault();
        }
    }
}
</script></div>