Jump to content
Software FX Community

Stacked bar chart


Guest Daniel

Recommended Posts

Guest Daniel

Stacked bar chart : help my

I was having an issue with this in a larger project, so I created a empty one just to isolate the problem.  I have an empty windows form on which I dropped a single chart.  In the form load event, I have the following code :

Trial 8.0: c#

    public partial class Form1 : Form

    {


        public Form1()

        {

            InitializeComponent();

        }


        private void Form1_Load(object sender, EventArgs e)

        {

            try { chart1.Data.Clear(); } catch { }


            chart1.Data.Series = 9;

            chart1.Data.Points = 3;

            chart1.ToolBar.Visible = true;

            chart1.DataGrid.Visible = true;


            Int32 serie = 0;

            chart1.Series[serie].Text = "Ancho";

            chart1.Series[serie].Gallery = Gallery.Bar;

            chart1.Data[serie, 1] = 965;

            chart1.Data[serie, 2] = 0;

            chart1.Data[serie, 3] = 0;

           

            serie++;

            chart1.Series[serie].Text = "Espesor";

            chart1.Series[serie].Gallery = Gallery.Lines;

            chart1.Data[serie, 1] = 6.35;

            chart1.Data[serie, 2] = 2.66;

            chart1.Data[serie, 3] = 6.35;

            chart1.Series[serie].AxisY = chart1.AxisY2;


            serie++;

            chart1.Series[serie].Text = "Serie3";

            chart1.Series[serie].Gallery = Gallery.Lines;

            chart1.Data[serie, 1] = 0;

            chart1.Data[serie, 2] = 0;

            chart1.Data[serie, 3] = 0;


            serie++;

            chart1.Series[serie].Text = "Serie4";

            chart1.Series[serie].Gallery = Gallery.Lines;

            chart1.Data[serie, 1] = 0;

            chart1.Data[serie, 2] = 0;

            chart1.Data[serie, 3] = 0;


            serie++;

            chart1.Series[serie].Text = "Salto Ancho";

            chart1.Series[serie].Gallery = Gallery.Bar;

            chart1.Series[serie].Stacked = true;

            chart1.Data[serie, 1] = 0;

            chart1.Data[serie, 2] = 417.54;

            chart1.Data[serie, 3] = 482.50;


            serie++;

            chart1.Series[serie].Text = "Salto Espesor";

            chart1.Series[serie].Gallery = Gallery.Bar;

            chart1.Series[serie].Stacked = true;

            chart1.Data[serie, 1] = 0;

            chart1.Data[serie, 2] = 417.54;

            chart1.Data[serie, 3] = 482.50;


            serie++;

            chart1.Series[serie].Text = "Ensanche";

            chart1.Series[serie].Gallery = Gallery.Bar;

            chart1.Series[serie].Stacked = true;

            chart1.Data[serie, 1] = 0;

            chart1.Data[serie, 2] = 417.54;

            chart1.Data[serie, 3] = 0;


            serie++;

            chart1.Series[serie].Text = "Salto Dureza";

            chart1.Series[serie].Gallery = Gallery.Bar;

            chart1.Series[serie].Stacked = true;

            chart1.Data[serie, 1] = 0;

            chart1.Data[serie, 2] = 0;

            chart1.Data[serie, 3] = 0;


            serie++;

            chart1.Series[serie].Text = "Salto Temperatura";

            chart1.Series[serie].Gallery = Gallery.Bar;

            chart1.Series[serie].Stacked = true;

            chart1.Data[serie, 1] = 0;

            chart1.Data[serie, 2] = 0;

            chart1.Data[serie, 3] = 0;



            foreach (SeriesAttributes selSeries in chart1.Series)

                listBox1.Items.Add(selSeries.Text);

            listBox1.SelectedIndex = 0;


        }


        private void buttonToFront_Click(object sender, EventArgs e)

        {

            string sName = chart1.Series[listBox1.SelectedIndex].Text;


            chart1.Series[listBox1.SelectedIndex].BringToFront();

            //Bring item to first in list and select it

            listBox1.Items.RemoveAt(listBox1.Items.IndexOf(sName));

            listBox1.Items.Insert(0, sName);

            listBox1.SelectedIndex = 0;

        }


        private void buttonToBack_Click(object sender, EventArgs e)

        {

            string sName = chart1.Series[listBox1.SelectedIndex].Text;

            int nIndex;


            chart1.Series[listBox1.SelectedIndex].SendToBack();

            //Put item Last in list and select it

            listBox1.Items.RemoveAt(listBox1.Items.IndexOf(sName));

            nIndex = listBox1.Items.Add(sName);

            listBox1.SelectedIndex = nIndex;

        }


        private void button1_Click(object sender, EventArgs e)

        {

            if (listBox1.SelectedIndex < listBox1.Items.Count - 1)

            {

                //cache the series array

                //Trial 7.0 SeriesAttributesCollection series = chart1.Series;


                System.Collections.ObjectModel.Collection<SeriesAttributes> series = chart1.Series;


                int nIndex = listBox1.SelectedIndex;

                SeriesAttributes currentSeries = chart1.Series[nIndex];

                series.RemoveAt(nIndex);

                series.Insert(nIndex + 1, currentSeries);


                string sName = currentSeries.Text;

                listBox1.Items.RemoveAt(nIndex);

                listBox1.Items.Insert(nIndex + 1, sName);

                listBox1.SelectedIndex = nIndex + 1;

            }

        }


        private void button2_Click(object sender, EventArgs e)

        {

            if (listBox1.SelectedIndex > 0)

            {

                //cache the series array

                // Trial 7.0 SeriesAttributesCollection series = chart1.Series;

               

   System.Collections.ObjectModel.Collection<SeriesAttributes> series = chart1.Series;

                int nIndex = listBox1.SelectedIndex;

                SeriesAttributes currentSeries = chart1.Series[nIndex];

                series.RemoveAt(nIndex);

                series.Insert(nIndex - 1, currentSeries);


                string sName = currentSeries.Text;

                listBox1.Items.RemoveAt(nIndex);

                listBox1.Items.Insert(nIndex - 1, sName);

                listBox1.SelectedIndex = nIndex - 1;

            }

        }


        private void listBox1_SelectedIndexChanged(object sender, EventArgs e)

        {

            if (listBox1.SelectedIndex != -1)

            {

                buttonToFront.Visible = listBox1.SelectedIndex > 0;

                buttonToBack.Visible = listBox1.SelectedIndex < listBox1.Items.Count - 1;

            }

        }


    }



And:

        private void InitializeComponent()

        {

            this.chart1 = new ChartFX.WinForms.Chart();

            this.buttonToBack = new System.Windows.Forms.Button();

            this.buttonToFront = new System.Windows.Forms.Button();

            this.button2 = new System.Windows.Forms.Button();

            this.button1 = new System.Windows.Forms.Button();

            this.label2 = new System.Windows.Forms.Label();

            this.listBox1 = new System.Windows.Forms.ListBox();

            ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit();

            this.SuspendLayout();

            //

            // chart1

            //

            this.chart1.AllowDrop = true;

            this.chart1.AllSeries.MarkerTemplate = null;

            this.chart1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)

            | System.Windows.Forms.AnchorStyles.Left)

            | System.Windows.Forms.AnchorStyles.Right)));

            this.chart1.Location = new System.Drawing.Point(9, 125);

            this.chart1.Name = "chart1";

            this.chart1.PlotAreaColor = System.Drawing.Color.Transparent;

            this.chart1.RandomData.Points = 1;

            this.chart1.RandomData.Series = 1;

            this.chart1.Size = new System.Drawing.Size(561, 510);

            this.chart1.TabIndex = 0;

            //

            // buttonToBack

            //

            this.buttonToBack.Location = new System.Drawing.Point(305, 88);

            this.buttonToBack.Name = "buttonToBack";

            this.buttonToBack.Size = new System.Drawing.Size(87, 20);

            this.buttonToBack.TabIndex = 11;

            this.buttonToBack.Text = "Send To Back";

            this.buttonToBack.Click += new System.EventHandler(this.buttonToBack_Click);

            //

            // buttonToFront

            //

            this.buttonToFront.Location = new System.Drawing.Point(305, 66);

            this.buttonToFront.Name = "buttonToFront";

            this.buttonToFront.Size = new System.Drawing.Size(87, 20);

            this.buttonToFront.TabIndex = 10;

            this.buttonToFront.Text = "Bring To Front";

            this.buttonToFront.Visible = false;

            this.buttonToFront.Click += new System.EventHandler(this.buttonToFront_Click);

            //

            // button2

            //

            this.button2.Location = new System.Drawing.Point(305, 13);

            this.button2.Name = "button2";

            this.button2.Size = new System.Drawing.Size(87, 20);

            this.button2.TabIndex = 9;

            this.button2.Text = "Up";

            this.button2.Click += new System.EventHandler(this.button2_Click);

            //

            // button1

            //

            this.button1.Location = new System.Drawing.Point(305, 35);

            this.button1.Name = "button1";

            this.button1.Size = new System.Drawing.Size(87, 20);

            this.button1.TabIndex = 8;

            this.button1.Text = "Down";

            this.button1.Click += new System.EventHandler(this.button1_Click);

            //

            // label2

            //

            this.label2.AutoSize = true;

            this.label2.Location = new System.Drawing.Point(6, 13);

            this.label2.Name = "label2";

            this.label2.Size = new System.Drawing.Size(81, 13);

            this.label2.TabIndex = 7;

            this.label2.Text = "Select a Series:";

            //

            // listBox1

            //

            this.listBox1.FormattingEnabled = true;

            this.listBox1.Location = new System.Drawing.Point(88, 12);

            this.listBox1.Name = "listBox1";

            this.listBox1.Size = new System.Drawing.Size(211, 95);

            this.listBox1.TabIndex = 6;

            this.listBox1.SelectedIndexChanged += new System.EventHandler(this.listBox1_SelectedIndexChanged);

            //

            // Form1

            //

            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);

            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;

            this.AutoScroll = true;

            this.ClientSize = new System.Drawing.Size(582, 647);

            this.Controls.Add(this.buttonToBack);

            this.Controls.Add(this.buttonToFront);

            this.Controls.Add(this.button2);

            this.Controls.Add(this.button1);

            this.Controls.Add(this.label2);

            this.Controls.Add(this.listBox1);

            this.Controls.Add(this.chart1);

            this.Name = "Form1";

            this.Text = "Serie Perdida";

            this.Load += new System.EventHandler(this.Form1_Load);

            ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit();

            this.ResumeLayout(false);

            this.PerformLayout();


        }


        #endregion

        private ChartFX.WinForms.Chart chart1;

        private System.Windows.Forms.Button buttonToBack;

        private System.Windows.Forms.Button buttonToFront;

        private System.Windows.Forms.Button button2;

        private System.Windows.Forms.Button button1;

        private System.Windows.Forms.Label label2;

        private System.Windows.Forms.ListBox listBox1;




References:

Ddls Trial 8.0

Dlls                                                                                       version

ChartFX.Designer.8                                                       8.0.5693.19342

ChartFX.WinForms.8                                                    8.0.5693.19342

ChartFX.WinForms.Adornments.8                         8.0.5693.19342

SoftwareFX.WinForms.Base.8                                  8.0.5693.19203

SoftwareFX.WinForms.Data.8                                  8.0.5693.19203

 


 

Chart: is empty.

 

< immage not allowed />

 

 

 

And press any key: no work.

 

< immage not allowed />

 

 

Trial 7.0 c#:

Same code, replacing lines:

                //cache the series array

                SeriesAttributesCollection series = chart1.Series;

                // Trial 8.0: System.Collections.ObjectModel.Collection<SeriesAttributes> series = chart1.Series;

 

Referencias:  ddls

Dlls                                                                        version

ChartFX.Designer                                           7.0.4962.20724

ChartFX.WinForms                                        7.0.4962.20751

ChartFX.WinForms.Adornments             7.0.4962.20707

ChartFX.WinForms.Base                             7.0.4962.20686

ChartFX.WinForms.Data                              7.0.4962.20801

 

Chart:   in point x = 4, Santo Ancho and Salto Espesor  by 483 is cero (0) ?

 

< immage not allowed />

 

And changing the order of the series:  

Note series "Espesor" is the first but is plotted behind “Salto Espesor”.

 

< immage not allowed />

 

Please, I need to help me. I can not change the order of the series, as in the demo.

 

This problem I have with the same dlls, but version :

ChartFX.WinForms                                        7.0.4259.29043

ChartFX.WinForms.Adornments             7.0.4259.29005

ChartFX.WinForms.Base                             7.0.4259.28993

ChartFX.WinForms.Data                              7.0.4259.29087

 

 

 

Link to post
Share on other sites

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...