Jump to content
Software FX Community

Stacked bar chart : help my


Guest drobig

Recommended Posts

Guest drobig

Stacke 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
                //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
                // 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();

        }

        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: empty.  ( < image not allowed > )

 

 

 

 

And press any key:   ( < image 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) ?

 

( < image not allowed >)

 

 

 

 

And changing the order of the series:  

 

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

( < image 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...