Skip to content
This repository has been archived by the owner on Mar 9, 2020. It is now read-only.

Implementing Error bars #528

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open

Conversation

KrisWragg
Copy link

Created ExcelChartErrorBar class that implements all functionality documented.
Added ExcelChartErrorBar to:

  • ExcelBarChartSerie as ErrorBar
  • ExcelScatterChartSerie as HorizontalErrorBar and VerticalErrorBar
  • ExcelLineChartSerie as ErrorBar

Automatically adds error bars when first accessed, Delete function available to remove each error bar if necessary.

Also fixed a bug in ExcelChartSeries which failed to recreate the series as type ExcelBarChartSerie when loading a bar chart in. Found when testing my example.

Created Sample_ErrorBars that shows the functionality in action for the three chart types.

Would be great to get this merged in and into a new version as I require this functionality for a project I am working on and is missing from the latest NuGet package.

…ass.

Added Sample_ErrorBars as an example of how to use with data to allow for an XY scatter example once that is done.
…xing inability to delete error bars once they have been added.
Comment on lines +267 to +275
case eErrorBarValueType.FixedValue:
value = 0.1;
break;
case eErrorBarValueType.Percentage:
value = 5;
break;
case eErrorBarValueType.StandardDeviation:
value = 1.0;
break;
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unless I'm missing something, any of these 3 assignments will overwrite whatever value is retrieved by GetXmlNodeDoubleNull.

Consider rewriting this setter like this or similar:

double defaultValue;
switch (ValueType)
{
    case eErrorBarValueType.CustomErrorBars:
        throw new Exception("Error bar value is not valid for Custom Error Bars, use PlusAddress and MinusAddress");
    case eErrorBarValueType.StandardError:
        throw new Exception("Error bar value is not valid for Standard Error");
    case eErrorBarValueType.FixedValue:
        defaultValue = 0.1;
        break;
    case eErrorBarValueType.Percentage:
        defaultValue = 5;
        break;
    case eErrorBarValueType.StandardDeviation:
        defaultValue = 1.0;
        break;
}

return GetXmlNodeDoubleNull(_errorBarValuePath) ?? defaultValue;

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants