Your Privacy Matters: We use our own and third-party cookies to improve your experience on our website. By continuing to use the website we understand that you accept their use. Cookie Policy
60
Display column values in Legend.
posted

My first Bar Chart in Ultrachart and I'm having problem.

This is the result I get from this table:

year    Total Assets    Total Revenue    Total Liabilities    Total Expenditures
2010    85411648.00    57848779.00    11933949.00    60057828.00
2011    88245533.00    60372377.00    13348894.00    60482052.00
2012    85411648.00    57848779.00    11933949.00    60057828.00
2013    88245533.00    60372377.00    13348894.00    60482052.00

How can I change the Legend to reflect the column "YEAR" and remove the text "ROW#" underneath every columns?

My code:

UltraChart ucFinancialChart1 = new UltraChart();
ucFinancialChart1.Data.DataSource = financialData;
ucFinancialChart1.Axis.Y.RangeType = Infragistics.UltraChart.Shared.Styles.AxisRangeType.Custom;
ucFinancialChart1.Axis.Y.RangeMax = 100000000;
ucFinancialChart1.Axis.Y.RangeMin = 0;
ucFinancialChart1.ColorModel.ColorBegin = System.Drawing.Color.Pink;
ucFinancialChart1.ColorModel.ColorBegin = System.Drawing.Color.DarkRed;
ucFinancialChart1.ColorModel.ModelStyle = Infragistics.UltraChart.Shared.Styles.ColorModels.CustomLinear;
ucFinancialChart1.Border.Thickness = 0;
ucFinancialChart1.Legend.Visible = true;
ucFinancialChart1.Legend.Location = Infragistics.UltraChart.Shared.Styles.LegendLocation.Bottom;
ucFinancialChart1.Legend.SpanPercentage = 35;
ucFinancialChart1.ChartType = Infragistics.UltraChart.Shared.Styles.ChartType.ColumnChart;
ucFinancialChart1.Width = new Unit(600, UnitType.Pixel);
ucFinancialChart1.Height = new Unit(600, UnitType.Pixel);
ucFinancialChart1.Data.IncludeColumn(0, false);
ucFinancialChart1.Data.SwapRowsAndColumns = true;
ucFinancialChart1.Data.DataBind();

  • 53790
    posted

    Hello Roger,

    There are different approaches to solve this task, depending of your scenario. Here are few possible options:

    Option 1: You could choose one of the options in DataAssociation. For example:

    ultraChart1.Legend.DataAssociation = Infragistics.UltraChart.Shared.Styles.ChartTypeData.ColumnData;

     

    Option 2: You could use combination of these settings:

     ultraChart1.Data.UseRowLabelsColumn =true;

     ultraChart1.Data.RowLabelsColumn = 0;

     

    Option 3: If you have composite chart (composite legend) then you could specify these settings through the layers . For example:

                CompositeLegend m_ChartLegend = new CompositeLegend();

                 ColumnLayer.LegendItem = LegendItemType.Series;

                LineLayer.LegendItem = LegendItemType.Series;

                m_ChartLegend.ChartLayers.Add(ColumnLayer);

                m_ChartLegend.ChartLayers.Add(LineLayer);

                m_ChartLegend.BoundsMeasureType = MeasureType.Percentage;

                m_ChartLegend.Bounds = new Rectangle(1, 10, 18, 20);

                area.BoundsMeasureType = MeasureType.Percentage;

                area.Bounds = new Rectangle(25, 10, 74, 90);

                m_ChartLegend.PE.ElementType = PaintElementType.Gradient;

                m_ChartLegend.PE.FillGradientStyle = GradientStyle.Circular;

                m_ChartLegend.PE.Fill = Color.Yellow;

                m_ChartLegend.PE.FillStopColor = Color.Orange;

                m_ChartLegend.Border.CornerRadius = 10;

                m_ChartLegend.Border.Thickness = 0;

                m_ChartLegend.LabelStyle.FontSizeBestFit = true;

                ultraChart1.CompositeChart.Legends.Add(m_ChartLegend);

     

    Let me know if you have any questions.