Skip to content

Close the remaining gaps against the Microsoft chart control found by the Magic Suite List.Graph comparison #76

Description

@davidnmbond

Found by the List.Graph pixel comparison on Magic Suite MS-26856. That comparison renders every List.Graph parameter with both the Windows DocMagic (Microsoft chart control) and ChartMagic, and ranks the differences. The mapping-side fixes are in Magic Suite. The items below can only be fixed here, in the library, and are ranked by how visible they are in a customer report.

Chart types with no renderer (they draw empty axes)

MagicSuite.Charting now refuses these by name rather than drawing an empty chart:

  • Radar
  • Polar
  • BoxPlot
  • Pyramid: an inverted funnel, which could share most of FunnelRenderer.
  • SplineArea: MagicSuite.Charting currently draws it as Area, with straight segments instead of curves.

A date / time X axis

There is none. ChartSpecification.XValueType is declared but never read. MagicSuite.Charting turns dates into categories, which puts evenly spaced dates in the right place. Unevenly spaced dates are drawn evenly spaced, though, and the label interval is only an approximation of the Windows automatic interval.

Gridlines

  • Minor gridline density: Windows draws 5 minor gridlines per major interval. AxisRenderer.MinorTicks divides the range by TargetTickCount instead, giving 10 per interval on a 0-8 axis with a step of 2. This is visible on every chart. 14.7% of the image differs on the yAxisMinorGridLineColor case, where the lines are coloured.
  • Grid dash styles, and a minor width separate from the major: MagicSuite.Charting rejects these, so a report using them fails on Linux.

Smaller differences

  • Short labels: the origin of a value axis reads "0.0"; Windows reads "0".
  • Legend swatch for a line series: ChartMagic draws a thick bar; Windows draws a thin line, with the marker when the series has one.
  • Pie labels: placed further from the centre than Windows places them.
  • Logarithmic axis range: differs from Windows, which starts the axis at 1.
  • Not supported at all: data label background colour, legend text wrapping, and turning off the X axis margin.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions