Page 1 of 2

Bugs in new release

Posted: Tue Mar 27, 2012 11:30 pm
by 14045174
Hi! I just upgraded to the new release (I was about 18 months behind) and found a few bugs that will hold my upgrade:
  • When I set InflateMargine to true on a pointer (line, area or just points series) and my axes are automatic it works fine. But if I want my vertical axis to have specific Min/Max values (say 0 through 20) they will be inflated! Why? I am setting the range with a reason and pointers will fit inside (and when I set Min/Max values you do not enforce all points to fall into the range, so why you change them for the pointers?) This will break all the existing graphs all our customers have created and there is no work around either! I cannot tell my customers to open each graph they have (they may have dozens) and start playing with numbers to get the range right.
  • This is similar to the previous one, but now we have series marks visible. Again, if my vertical axis is automatic, it is great that you make sure that all the marks will fall into the graph area (unfortunately you have forgotten that arrow length can be negative and therefore it works only with positive arrow length). But when I set up Min/Max range on an axis, inflating the range is unacceptable.
  • Shadow -> Smooth is totally broken for every object that can have a shadow, but the real piece of art is smooth shadow (make offsets big enough to see it) on a Donut series!
  • With this version I cannot get Back Wall to draw at all! I am not sure if I am doing anything wrong or it is just broken but I did not find a way to get it visible using both your chart editor and simple property editor. -- After playing with it a little more I found that if Size3D is set to 0, than I have my back wall showing up unless I select one of the two broken themes (Blues and Grayscale).

Re: Bugs in new release

Posted: Thu Mar 29, 2012 8:41 am
by narcis
Hi UserLS,
When I set InflateMargine to true on a pointer (line, area or just points series) and my axes are automatic it works fine. But if I want my vertical axis to have specific Min/Max values (say 0 through 20) they will be inflated! Why? I am setting the range with a reason and pointers will fit inside (and when I set Min/Max values you do not enforce all points to fall into the range, so why you change them for the pointers?) This will break all the existing graphs all our customers have created and there is no work around either! I cannot tell my customers to open each graph they have (they may have dozens) and start playing with numbers to get the range right.
That's not a bug. You can disable InflateMargins and achieve the same effect only for those axes you want using their MinimumOffset and MaximumOffset properties, for example:

Code: Select all

      tChart1.Aspect.View3D = false;

      Steema.TeeChart.Styles.Points points1 = new Steema.TeeChart.Styles.Points(tChart1.Chart);
      points1.Pointer.InflateMargins = false;
      points1.Add(0, 0);
      points1.Add(1, 10);
      points1.Add(2, 20);

      tChart1.Axes.Left.SetMinMax(0, 20);
      
      tChart1.Axes.Bottom.MinimumOffset = 5;
      tChart1.Axes.Bottom.MaximumOffset = 5;
You could automate this:

Code: Select all

      for (int i = 0; i < tChart1.Axes.Count; i++)
      {
        Steema.TeeChart.Axis a = tChart1.Axes[i];
        if (a.Automatic)
        {
          int offset = (a.Horizontal) ? points1.Pointer.HorizSize : points1.Pointer.VertSize;
          a.MinimumOffset = offset;
          a.MaximumOffset = offset;
        }
      }
This is similar to the previous one, but now we have series marks visible. Again, if my vertical axis is automatic, it is great that you make sure that all the marks will fall into the graph area (unfortunately you have forgotten that arrow length can be negative and therefore it works only with positive arrow length). But when I set up Min/Max range on an axis, inflating the range is unacceptable.
Displaying Marks doesn't change anything for me here. Disabling InflateMargins is enough as in the previous question:

Code: Select all

      tChart1.Aspect.View3D = false;

      Steema.TeeChart.Styles.Points points1 = new Steema.TeeChart.Styles.Points(tChart1.Chart);
      points1.Pointer.InflateMargins = false;
      points1.Marks.Visible = true;
      points1.Marks.ArrowLength = 10;
      points1.Add(0, 0);
      points1.Add(1, 10);
      points1.Add(2, 20);

      tChart1.Axes.Left.SetMinMax(0, 20);
I'm missing something here? Can you please modify the code snippet above so that we can reproduce the problem here?
Shadow -> Smooth is totally broken for every object that can have a shadow
Thanks for reporting. I could reproduce the issue here and added it (TF02016115) to the bug list to be fixed.
but the real piece of art is smooth shadow (make offsets big enough to see it) on a Donut series!
Using this code snippet:

Code: Select all

      Steema.TeeChart.Styles.Donut donut1 = new Steema.TeeChart.Styles.Donut(tChart1.Chart);
      donut1.FillSampleValues();
      donut1.Shadow.Visible = true;
      donut1.Shadow.Smooth = true;
I got this image:
DonutSmoothShadow.jpg
DonutSmoothShadow.jpg (32.06 KiB) Viewed 32588 times
I added the issue (TF02016116) to the bug list to be investigated. Is this the same you got at your end?
With this version I cannot get Back Wall to draw at all! I am not sure if I am doing anything wrong or it is just broken but I did not find a way to get it visible using both your chart editor and simple property editor. -- After playing with it a little more I found that if Size3D is set to 0, than I have my back wall showing up unless I select one of the two broken themes (Blues and Grayscale).
By default the back wall is visible but has a gradient similar to the panel. Try using the code snippet below, it makes the wall clearly visible.

Code: Select all

    public Form1()
    {
      InitializeComponent();
      InitializeChart();
    }

    private void InitializeChart()
    {
      tChart1.Clear();
      tChart1.Series.Add(new Steema.TeeChart.Styles.Bar()).FillSampleValues();

      tChart1.Walls.Back.Gradient.Visible = false;
      tChart1.Walls.Back.Color = Color.Red;
    }
Themes have different settings for aesthetics purpose, this includes the walls. With BlueSkyTheme theme the back wall is also visible using this code:

Code: Select all

    private void InitializeChart()
    {
      tChart1.Clear();
      tChart1.Series.Add(new Steema.TeeChart.Styles.Bar()).FillSampleValues();

      Steema.TeeChart.Themes.BlueSkyTheme bluesTheme = new Steema.TeeChart.Themes.BlueSkyTheme(tChart1.Chart);
      bluesTheme.Apply();

      tChart1.Walls.Back.Transparent = false;
      tChart1.Walls.Back.Size = 0;
    }
With GrayScale theme the code below displays the wall as well:

Code: Select all

    private void InitializeChart()
    {
      tChart1.Clear();
      tChart1.Series.Add(new Steema.TeeChart.Styles.Bar()).FillSampleValues();

      Steema.TeeChart.Themes.GrayscaleTheme grayTheme = new Steema.TeeChart.Themes.GrayscaleTheme(tChart1.Chart);
      grayTheme.Apply();

      tChart1.Walls.Back.Color = Color.Red;
      tChart1.Walls.Back.Size = 0;
    }

Re: Bugs in new release

Posted: Thu Mar 29, 2012 12:53 pm
by 14045174
For the problem with marks run the following code:

Code: Select all

           chart = new TChart();
            var line = new Line(chart.Chart);
            line.Add(1, 15);
            line.Add(2, 11);
            line.Add(3, 18);
            line.Add(4, 16);

            chart.Axes.Left.Automatic = false;
            chart.Axes.Left.Minimum = 10;
            chart.Axes.Left.Maximum = 20;

            line.Marks.Visible = true;
            line.Marks.ArrowLength = 100;
Although I understand that you are trying to explain the behavior and find a work around for it, but calling it "not a bug" when you do not respect my (your user's) selection is plain wrong. Unfortunately none of your work arounds will work for us since I do not have control over my users' graphs and they will not accept this type of behavior. And as I already have said, I cannot ask them to open every graph they have already created and start adjusting different properties just to get around the bug. And yes, if I set axis.minimum to a value and axis has different minimum at the end - this is a huge bug, like it or not. I do not want to sound mean, but I want you to understand, that we are dealing with thousands of users and each of them has created dozens of different graphs, included them into reports. I cannot even try to assume what they are trying to do in each graph and adjust something for them (like you've suggested). Plain and simple: if they type "20" as axis maximum - that is what they expect to be the maximum on the graph. And a single report can include several different graphs (some with marks, some with pointers) and all the graphs need to show same value range. Can you imagine a pain of adjusting just one such report? And in most cases all those graphs/reports are already created and now the user just prints them when needed without opening them first. I really need it to be fixed. One of the requirements I have, is that when we are upgrading to the new release of TChart, the images produced by already created graphs do not change unless there is a good reason for the change (a bug was fixed). And I have to explain every such change.

Now, for the walls, try this code:

Code: Select all

           chart = new TChart();
            var line = new Line(chart.Chart);
            line.FillSampleValues(10);

            chart.Walls.Back.Gradient.Visible = false;
            chart.Walls.Back.Color = Color.CornflowerBlue;
            chart.Walls.Back.Size = 1;
Here, if I set Size to 0 I see the wall, anything else - no wall...

Re: Bugs in new release

Posted: Thu Mar 29, 2012 1:36 pm
by narcis
Hi UserLS,
For the problem with marks run the following code:
Thanks, I could reproduce the issue now and added it (TF02016119) to the defect list to be investigated.
Although I understand that you are trying to explain the behavior and find a work around for it, but calling it "not a bug" when you do not respect my (your user's) selection is plain wrong. Unfortunately none of your work arounds will work for us since I do not have control over my users' graphs and they will not accept this type of behavior. And as I already have said, I cannot ask them to open every graph they have already created and start adjusting different properties just to get around the bug. And yes, if I set axis.minimum to a value and axis has different minimum at the end - this is a huge bug, like it or not. I do not want to sound mean, but I want you to understand, that we are dealing with thousands of users and each of them has created dozens of different graphs, included them into reports. I cannot even try to assume what they are trying to do in each graph and adjust something for them (like you've suggested). Plain and simple: if they type "20" as axis maximum - that is what they expect to be the maximum on the graph. And a single report can include several different graphs (some with marks, some with pointers) and all the graphs need to show same value range. Can you imagine a pain of adjusting just one such report? And in most cases all those graphs/reports are already created and now the user just prints them when needed without opening them first. I really need it to be fixed. One of the requirements I have, is that when we are upgrading to the new release of TChart, the images produced by already created graphs do not change unless there is a good reason for the change (a bug was fixed). And I have to explain every such change.
I understand your point. You should also believe me that every single TeeChart user can justify their needs. We are not changing the way TeeChart renders intentionally unless there's a good reason behind it. We try to document all modifications in the release notes shipped with every installer and available at the version info page. Please bear in mind that TeeChart is a visual component and it's virtually impossible testing and checking visually the infinite combinations available and compare them with previous releases. Having that in mind, we are reluctant to make modifications that would change previous TeeChart behavior and hence we'd like to analize this very well before taking a decision. So, if you think the way InflateMargins affects the chart plotting please let us know the version which worked as you expected so that we can compare changes across versions. Looking at mentioned release notes I can only find TF02014539 and TF02014540 which relate to InflateMargins. Those bugs where fixed in Build 4.0.2009.42281/2/3 from December 2009, almost 28 months ago. You said you were 18 months behind so I would not expect those issues causing any difference between the last version you used and the current release.

Thanks in advance.

BTW: There's also another option which is disabling InflateMargins and ClipPoints:

Code: Select all

      tChart1.Aspect.View3D = false;

      Steema.TeeChart.Styles.Points points1 = new Steema.TeeChart.Styles.Points(tChart1.Chart);
      points1.Pointer.InflateMargins = false;
      points1.Add(0, 0);
      points1.Add(1, 10);
      points1.Add(2, 20);

      tChart1.Axes.Left.SetMinMax(0, 20);
      tChart1.Aspect.ClipPoints = false;
Now, for the walls, try this code:
Here, if I set Size to 0 I see the wall, anything else - no wall...
Ok, when Size is different to 0 color is applied to the side of the wall. I have added the issue (TF02016120) to the bug list as well.

Re: Bugs in new release

Posted: Thu Mar 29, 2012 3:21 pm
by 14045174
The version which is in our official release is from Feb 18, 2010 and marks and pointers do not affect axis margins when they were set by a user. We did try to upgrade to a version that was released in June or August of the same year but both releases had too many problems and we could not include them into our app, but I do not believe I have seen marks or pointers affect axis min/max values before this release. And as for the testing - I do run automated tests against your graphs package (total about 15000 images compared with previous version, and it takes about 35 minutes) - so it is possible to do it at least for most used options or the ones that are broken most often and, for sure, for all new features.

This is not new, but I'd like to bring this issue again (I think I did in the past, but nothing has changed). When you have Header and Subheader on a graph and both of them have shadows, then if shadow offsets are negative the actual positioning of objects is not changed and if offsets are big enough, the shadow will be behind other objects (which I consider the correct behavior). But if shadow offsets are positive, than Subheader is moved down to allow space not only for the Header, but for its shadow as well, the graph area is moved down to allow room for Subheader and its shadow. This is really strange. And it is true for the other objects like Legend (except Legend's shadow behaves the same way for both positive and negative offsets.) It looks even more awkward on Footer/Subfooter with shadows.

One more question. With this release, when I set Wall.Brush.Visible = false it does not stay and reverts back to true. Is it intentional or yet, another bug? Ironically, even if it is a bug it is far less important for us than min/max values not being changed (the worst part of it is that if you open axis editor it states the values user entered, but the axis does not respect what the editor shows - I do not know how to explain this behavior to our customers, it is simply embarrassing).

Re: Bugs in new release

Posted: Fri Mar 30, 2012 2:31 pm
by 10050769
Hello UserLs,
The version which is in our official release is from Feb 18, 2010 and marks and pointers do not affect axis margins when they were set by a user. We did try to upgrade to a version that was released in June or August of the same year but both releases had too many problems and we could not include them into our app, but I do not believe I have seen marks or pointers affect axis min/max values before this release. And as for the testing - I do run automated tests against your graphs package (total about 15000 images compared with previous version, and it takes about 35 minutes) - so it is possible to do it at least for most used options or the ones that are broken most often and, for sure, for all new features.
Ok. I have checked the version of Feb 18, 2010 and I see the InflateMargin works in correct way. We add the problem in the bug list report with number[TF02016127] We will try to fix it for next maintenance releases of TeeChart.Net.
This is not new, but I'd like to bring this issue again (I think I did in the past, but nothing has changed). When you have Header and Subheader on a graph and both of them have shadows, then if shadow offsets are negative the actual positioning of objects is not changed and if offsets are big enough, the shadow will be behind other objects (which I consider the correct behavior). But if shadow offsets are positive, than Subheader is moved down to allow space not only for the Header, but for its shadow as well, the graph area is moved down to allow room for Subheader and its shadow. This is really strange. And it is true for the other objects like Legend (except Legend's shadow behaves the same way for both positive and negative offsets.) It looks even more awkward on Footer/Subfooter with shadows.
Thanks for information. I have added your request in bug list report with number[TF02016124]. We will try to fix it for next maintenace releases of TeeCahrt.Net.
One more question. With this release, when I set Wall.Brush.Visible = false it does not stay and reverts back to true. Is it intentional or yet, another bug?
I think is another bug. I have added it in bug list report with number[TF02016125]. We will try to solve the problem with next maintenance releases of TeeChart.Net.

Thanks,

Re: Bugs in new release

Posted: Fri Mar 30, 2012 2:44 pm
by narcis
Hello UserLS,

Also notice that the last version where the InflateMargins issue for series pointers worked as you expected is Build 4.1.2010.09280/1/2/3 from 28th September 2010. I'm afraid the fix for TF02015172 broke it.

Re: Bugs in new release

Posted: Fri Mar 30, 2012 6:28 pm
by 14045174
Thanks!

More bugs found though...
  1. Series marks, when rotated do not show round rectangle.
  2. Series marks - Arrow Head:
    • None works fine
    • Line: whatever you intended to do - it is not working ever. Instead it draws some lines and looks awful.
    • Solid:
      • Pie charts: When arrow length is positive it works fine. If arrow length is negative, first the pie is inflated for some reason and marks are not at the tip of the arrow.
      • Vertical series (bars, areas, lines, etc): if arrow points up - it works fine, if arrow points down its head is covered by the mark.
      • Horizontal series (bars, areas, lines, etc): When positive arrow length - if arrow points right - it works fine, if arrow points left its head is covered by the mark. When negative arrow length - it is all wrong.
  3. When changing series type some properties that do not apply to the new type are not cleared/set (old style is bar, color each is false -> changing to pie, color each is still false), but marks, that apply to every series type are reverted to the default settings.
  4. Images. In the version that we're using, when image is assigned to rotated mark or side walls it is rotated to make it parallel with the surface it is placed on... Not anymore. When stretched in some cases it will not cover the whole area because if this.

Re: Bugs in new release

Posted: Mon Apr 02, 2012 3:42 pm
by 10050769
Hello UserLs,
Series marks, when rotated do not show round rectangle.
I can reproduce it and I have added in bug list report with number [TF02016136]. We will try to fix it for next maintenance releases of TeeChartFor.Net
Series marks- Arrow Head: ...
Line: whatever you intended to do - it is not working ever. Instead it draws some lines and looks awful.
I can not reproduce your problem using next code:

Code: Select all

 private void InitializeChart()
        {
            tChart1.Aspect.View3D = false;
            Steema.TeeChart.Styles.Bar Series1 = new Steema.TeeChart.Styles.Bar(tChart1.Chart);
            Series1.FillSampleValues();
            Series1.ColorEach = false;
            Series1.Marks.Arrow.Color = Color.Black;
            Series1.Marks.Callout.ArrowHead = ArrowHeadStyles.Line;
        }
Please, can you modify it so we can reproduce your problem here?
Series marks- Arrow Head: ...
Solid: Pie charts: When arrow length is positive it works fine. If arrow length is negative, first the pie is inflated for some reason and marks are not at the tip of the arrow.
We have added your request in bug list report with number [TF02016137]. We will try to fix it for next maintenance releases of TeeChartFor.Net.
Series marks- Arrow Head: ...
Vertical series (bars, areas, lines, etc): if arrow points up - it works fine, if arrow points down its head is covered by the mark.
Horizontal series (bars, areas, lines, etc): When positive arrow length - if arrow points right - it works fine, if arrow points left its head is covered by the mark. When negative arrow length - it is all wrong.
Ok. Thanks for your information. I have added it in bug list report with number [TF02016138]. We will try to fix it for next maintenance releases of TeeChartFor.Net.
When changing series type some properties that do not apply to the new type are not cleared/set (old style is bar, color each is false -> changing to pie, color each is still false), but marks, that apply to every series type are reverted to the default settings.
I can reproduce your problem here. I have added your request in bug list report with number [TF02016139]. We will try to fix it for next maintenance releases of TeeChartFor.Net
Images. In the version that we're using, when image is assigned to rotated mark or side walls it is rotated to make it parallel with the surface it is placed on... Not anymore. When stretched in some cases it will not cover the whole area because if this.
I can reproduce your problem here. I have added your request in bug list report with number [TF02016140]. We will try to fix it for next maintenance releases of TeeChartFor.Net

Re: Bugs in new release

Posted: Mon Apr 02, 2012 4:21 pm
by 14045174
To see the problem with arrow head style = lines run this code (I most of the time use 3D graphs and this setting is available there - and should be):

Code: Select all

    private void InitializeChart()
            {
                tChart1.Aspect.View3D = true;
                Steema.TeeChart.Styles.Bar Series1 = new Steema.TeeChart.Styles.Bar(tChart1.Chart);
                Series1.FillSampleValues();
                Series1.ColorEach = false;
                Series1.Marks.Arrow.Color = Color.Black;
                Series1.Marks.Callout.ArrowHead = ArrowHeadStyles.Line;
            }

Re: Bugs in new release

Posted: Tue Apr 03, 2012 10:12 am
by 10050769
Hello UserLs,

Thanks for your information. I have added it in bug list report with number [TF02016142]. We will try to fix it for next maintenance releases of TeeChartFor.Net.

Thanks,

Re: Bugs in new release

Posted: Mon Apr 16, 2012 3:26 pm
by 14045174
Two more problems found with this release:
  • If I have a line graph and all axes are automatic and Marks.Visible = true, than first and last marks are not shown. Yes, I can set offsets to something other than 0 and the marks will show up, but then other stuff stops working (like inflate margins if I am showing pointers).
  • Chart.CalcClickedPart is broken for at least Pie and Donut series. For the past 12 years when I was moving mouse over them I'd get PointIndex set to the correct value (and we rely on this behavior a lot in our system)... not anymore. It is either -1 when mouse is outside of the series and 0 when it is pointing to the Pie/Donut. It works OK with lines, bars, ans areas.

Re: Bugs in new release

Posted: Tue Apr 17, 2012 3:55 pm
by 10050769
Hello UserLs,
If I have a line graph and all axes are automatic and Marks.Visible = true, than first and last marks are not shown. Yes, I can set offsets to something other than 0 and the marks will show up, but then other stuff stops working (like inflate margins if I am showing pointers).
Can you please can you made a simple code where the problem appears,so, we can not reproduce here?
Chart.CalcClickedPart is broken for at least Pie and Donut series. For the past 12 years when I was moving mouse over them I'd get PointIndex set to the correct value (and we rely on this behavior a lot in our system)... not anymore. It is either -1 when mouse is outside of the series and 0 when it is pointing to the Pie/Donut. It works OK with lines, bars, ans areas.
I have added it in but list report with number [TF02016154]. We will try to fix it for next maintenance releases of TeeChart.Net.

Thanks,

Re: Bugs in new release

Posted: Fri Apr 20, 2012 6:39 am
by narcis
Hello UserLS,

About the series marks issue (TF02016119), we have implemented a new property called Series.Marks.InflateMargins to choose whether axes should be modified to fit marks in or not. This will be available for the next maintenance release.

Also, some of the bugs you reported in this thread have already been fixed for the next maintenance release: TF02016115, TF02016116, TF02016120 and TF02016124.

Re: Bugs in new release

Posted: Tue Apr 24, 2012 6:59 pm
by 14045174
First, the code you've asked for:

Code: Select all

            var chart = new TChart();
            var line = new Line(chart.Chart);
            line.Add(1, 15);
            line.Add(2, 11);
            line.Add(3, 13);
            line.Add(4, 18);
            line.Add(5, 16);

            line.Marks.Visible = true;
            line.Marks.ArrowLength = -10;
I see only one mark on the series...

As to the new property, I hope it is ignored when I set Min/Max manually...

Thanks!