Exemple #1
0
        public void FillChart(IChart chart, IChartAxis[] axis)
        {
            if (!(chart is XSSFChart))
            {
                throw new ArgumentException("Chart must be instance of XSSFChart");
            }

            XSSFChart       xssfChart      = (XSSFChart)chart;
            CT_PlotArea     plotArea       = xssfChart.GetCTChart().plotArea;
            int             allSeriesCount = plotArea.GetAllSeriesCount();
            CT_ScatterChart scatterChart   = plotArea.AddNewScatterChart();

            AddStyle(scatterChart);

            for (int i = 0; i < series.Count; ++i)
            {
                Series s = (Series)series[i];
                s.SetId(allSeriesCount + i);
                s.SetOrder(allSeriesCount + i);
                s.AddToChart(scatterChart);
            }

            foreach (IChartAxis ax in axis)
            {
                scatterChart.AddNewAxId().val = (uint)ax.Id;
            }
        }
Exemple #2
0
            /// <summary>
            /// Returns last calculated number cache for X axis.
            /// </summary>
            //internal XSSFNumberCache LastCaculatedXCache
            //{
            //    get
            //    {
            //        return lastCaclulatedXCache;
            //    }
            //}
            /// <summary>
            /// Returns last calculated number cache for Y axis.
            /// </summary>
            //internal XSSFNumberCache LastCalculatedYCache
            //{
            //    get
            //    {
            //        return lastCalculatedYCache;
            //    }
            //}

            internal void AddToChart(CT_ScatterChart ctScatterChart)
            {
                CT_ScatterSer scatterSer = ctScatterChart.AddNewSer();

                scatterSer.AddNewIdx().val   = (uint)this.id;
                scatterSer.AddNewOrder().val = (uint)this.order;

                /* TODO: add some logic to automatically recognize cell
                 * types and choose appropriate data representation for
                 * X axis.
                 */
                /*CT_AxDataSource xVal = scatterSer.AddNewXVal();
                 * CT_NumRef xNumRef = xVal.AddNewNumRef();
                 * xNumRef.f = (xMarker.FormatAsString());
                 *
                 * CT_NumDataSource yVal = scatterSer.AddNewYVal();
                 * CT_NumRef yNumRef = yVal.AddNewNumRef();
                 * yNumRef.f = (yMarker.FormatAsString());
                 *
                 * if (useCache)
                 * {
                 *  // We can not store cache since markers are not immutable
                 *  XSSFNumberCache.BuildCache(xMarker, xNumRef);
                 *  lastCalculatedYCache = XSSFNumberCache.BuildCache(yMarker, yNumRef);
                 * }
                 */
                CT_AxDataSource xVal = scatterSer.AddNewXVal();

                XSSFChartUtil.BuildAxDataSource <Tx>(xVal, xs);
                CT_NumDataSource yVal = scatterSer.AddNewYVal();

                XSSFChartUtil.BuildNumDataSource <Ty>(yVal, ys);
            }
Exemple #3
0
            internal void AddToChart(CT_ScatterChart ctScatterChart)
            {
                CT_ScatterSer ctScatterSer = ctScatterChart.AddNewSer();

                ctScatterSer.AddNewIdx().val   = (uint)this.id;
                ctScatterSer.AddNewOrder().val = (uint)this.order;
                XSSFChartUtil.BuildAxDataSource <Tx>(ctScatterSer.AddNewXVal(), this.xs);
                XSSFChartUtil.BuildNumDataSource <Ty>(ctScatterSer.AddNewYVal(), this.ys);
            }
Exemple #4
0
        public void FillChart(IChart chart, IChartAxis[] axis)
        {
            if (!(chart is XSSFChart))
            {
                throw new ArgumentException("Chart must be instance of XSSFChart");
            }
            CT_ScatterChart ctScatterChart = ((XSSFChart)chart).GetCTChart().plotArea.AddNewScatterChart();

            this.AddStyle(ctScatterChart);
            foreach (XSSFScatterChartData <Tx, Ty> .Serie serie in this.series)
            {
                serie.AddToChart(ctScatterChart);
            }
            foreach (IChartAxis axi in axis)
            {
                ctScatterChart.AddNewAxId().val = (uint)axi.GetId();
            }
        }
Exemple #5
0
            internal void AddToChart(CT_ScatterChart ctScatterChart)
            {
                CT_ScatterSer scatterSer = ctScatterChart.AddNewSer();

                scatterSer.AddNewIdx().val   = (uint)this.id;
                scatterSer.AddNewOrder().val = (uint)this.order;

                CT_AxDataSource xVal = scatterSer.AddNewXVal();

                XSSFChartUtil.BuildAxDataSource <Tx>(xVal, xs);
                CT_NumDataSource yVal = scatterSer.AddNewYVal();

                XSSFChartUtil.BuildNumDataSource <Ty>(yVal, ys);

                if (IsTitleSet)
                {
                    scatterSer.tx = this.GetCTSerTx();
                }
            }
Exemple #6
0
        public void FillChart(IChart chart, IChartAxis[] axis)
        {
            if (!(chart is XSSFChart))
            {
                throw new ArgumentException("Chart must be instance of XSSFChart");
            }

            XSSFChart       xssfChart    = (XSSFChart)chart;
            CT_PlotArea     plotArea     = xssfChart.GetCTChart().plotArea;
            CT_ScatterChart scatterChart = plotArea.AddNewScatterChart();

            AddStyle(scatterChart);

            foreach (Series s in series)
            {
                s.AddToChart(scatterChart);
            }

            foreach (IChartAxis ax in axis)
            {
                scatterChart.AddNewAxId().val = (uint)ax.Id;
            }
        }
Exemple #7
0
 private void AddStyle(CT_ScatterChart ctScatterChart)
 {
     ctScatterChart.AddNewScatterStyle().val = ST_ScatterStyle.lineMarker;
 }