This milestone tracks progress on the plotly backend to the Kwant plotter.
@kel85uk is taking the lead on this project.
- Enumerate Kwant's plotting functionality (i.e. the types of plots)
- Look at the plotting functionality of other quantum transport software (e.g. PyBinding) to see what other sorts of plots may be possible
- Look at the Plotly documentation and gallery to see which types of Kwant plots may be implemented in plotly, and if a wider class of plots may be implemented (e.g. 3D density plots)
- Identify the entry points to the Kwant plotter and how data flows through the plotter.
- Identify the parts of the Kwant plotter that are backend agnostic and backend specific.
- Identify the functions that could have "plotly versions" and what their API would have to be
- Decide how a backend (plotly vs matplotlib) will be selected, and how different plotting options will be passed to the different backends (probably the plotting options will not be mutually exclusive, but there will not be 100% overlap neither)
- Design tests for the plotly parts of the plotter. This may involve testing at the level of plotly's JSON API.
Each of these features will be introduced in a separate merge request that will be made to the
feature/plotly branch. Once all of the features are implemented we will merge into
Individual features are specified in the issues attached to this milestone.