Ticket #820 (closed task: fixed)

Opened 3 years ago

Last modified 3 years ago

Adapt OWGraph and Curve to support non-cartesian axes

Reported by: Noughmad Owned by: Noughmad
Milestone: QtGraph Mid-term Component: canvas
Severity: minor Keywords:
Cc: Blocking:
Blocked By:

Description

The Curve class in C++ uses a QTransform() to transform from data coordinates to graph coordinates. This is faster than using a custom functions, and much less complicated because it avoids the need to call Python functions from C++. However, it doesn't support arbitrary transformations, like the ones needed for LinProj, RadViz and PolyViz classes.

To make sure that Curve gets a set of (x,y) data points, the transformation from data values to (x,y) values should happen in OWGraph. In the current implementations, this is a responsibility of individual visualizations. But this means duplicated code, the visualizations should only provide a set of axes (subclasses of Axis), which will be used by OWGraph when mapping to graph coordinates.

To minimize duplication, the general part of this functionality will be in OWGraph, while the visualization-specific part will be provided by custom Axis subclasses.

Change History

comment:1 Changed 3 years ago by Noughmad

  • Status changed from new to closed
  • Resolution set to fixed
Note: See TracTickets for help on using tickets.