microsoft / microsoft/psi

Extending CartesianChartVisualizationObject with more properties

Open
#122 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

help wanted
Dominant language
C#
Stars
574
Forks
104
Avg merge
19m
Merged PRs (30d)
1

Description

(this issue was created based on issue #120)

The CartesianChartVisualizationObject from Microsoft.Psi.LiveCharts.Visualization leverages LiveCharts to visualize chart data. The initial implementation of this visualization object we have provided does not yet expose all the properties that the underlying charting technology has. As one example, the LiveCharts documentation available here indicates that one should be able to set the axis min and max values. There are a number of other unexposed properties as well of the underlying Axis, for instance FontFamily, FontSize, FontWeight, LabelsRotation, etc., on the Chart itself, on the underlying Axis.Separator object, etc. More information on the various available properties can be found in the livecharts documentation and also in the LiveCharts GitHub repository.

We would like to extend the CartesianChartVisualizationObject to expose these properties and thus make them user-editable when using this visualizer from Platform for Situated Intelligence studio. An example of the pattern used to expose these properties is given by the currently-exposed AxisXTitle, AxisYTitle and DisableAnimations properties. A corresponding property needs to be created in the CartesianChartVisualizationObject.cs and the necessary bindings need to be constructed in the CartesianChartVisualizationObjectView.xaml -- see for instance the bindings to the AxisXTitle, AxisYTitle and DisableAnimations.

This issue represents a good community contribution opportunity, and is labeled 'help-wanted'. If you decide you would like to develop this feature and contribute it to the codebase, we would be happy to consider/review a pull request. If you have further questions, please post them below. To avoid duplication of work, if you start working on this with the goal of creating a pull request, please mention this by replying to this issue.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with CartesianChartVisualizationObject.cs and CartesianChartVisualizationObjectView.xaml, following the existing AxisXTitle, AxisYTitle, and DisableAnimations properties and bindings. Review the linked LiveCharts documentation and repository for additional Axis, Separator, and chart properties, then ensure the selected properties are exposed and editable in the studio visualizer.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
data-visualization, frontend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.