Skip to content

SolarSpec/OnePanelFig

Repository files navigation

Contributors Forks Stargazers Issues MIT License LinkedIn


SolarSpec

OnePanelFig GUI

A Graphical User Interface
Explore the docs »

View Demo · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgments

About The Project

OnePanelFig Screenshot Format basic properties of your plots through our GUI

(back to top)

Built With

(back to top)

Getting Started

To begin using this app is very simple. Just verify you have the necessary prequisites and follow the installation instructions.

Prerequisites

Make sure MATLAB is installed. It is available for download in the Software Distribution section under the Help tab after you log into Canvas. Click on the "Add-Ons" dropdown menu of your MATLAB Home screen. Then click on "Manage Add-Ons" and ensure you have the 'Image Processing Toolbox.' If not, click on "Get Add-Ons" button instead and search for the aforementioned products.

Installation

  1. Clone the repo to your PC
    git clone https://github.com/SolarSpec/OnePanelFig.git
  2. Install the application
    Click on the .mlappinstall file in your repository to open and install in MATLAB
    
  3. Browse the APPS header
    You will find the recently installed application and can add it to your favourites
    

(back to top)

Usage

To begin, an external plot from a general script/command is needed. Multiple plots can be opened at once but the most recent/current figure will be focused on first. At the top of the middle panel, the figures dropdown object will display all figures currently opened but will not automatically update when a new plot is created and so the update button directly below it can be pressed to fix this issue.

The left panel handles most of the outer axes properties such as the scales, labels and notation. There is also an edit field for the legend names of each graphical object in the current plot, but there must be the same amount of names as there are objects or more. The middle panel handles the style of these objects such as the line type and width or marker type and size, as well as the colour. The right panel handles inversion of each axis, the axes limits, presetted aspect ratios of the figure, and the loading and saving of the current GUI values.

There is also an extra "Script" button that takes these GUI values and stitches them to a general script (.m) file that can recreate the current setup. The script is saved in the current MATLAB folder and will automatically open it in the editor but it can only open the first script. A new script will generate for each time the button is pressed and will reflect in the filename (i.e. script_1, script_2, script_3,etc.) but MATLAB can only open the first script automatically due to unavoidable hardcoded strings.

Here is a simple example of the app being used for a line and scatter plot. We start off with no plots and we are instructed to open our figures and then update the app configuration. First we plot our sample data and then press the "Update" button on the GUI.

Please note that the app will automatically update the GUI when one of your figures is closed but it needs to be updated manually each time a new figure is created.

Empty

Figure 1: Boot the application

Test

Figure 2: Plot your data

Update

Figure 3: Update your GUI with the update buton

Next, in the specific case that you mix data types in your plot (e.g. scatter data with line data), the GUI will automatically recognize the line data as a "fit line" and won't configure its properties. If the line data is not a fit line or you want to alter its properties in general, you can use the Property Editor as shown below for ease of use:

Empty

Figure 4: Click on the view tool and choose property editor

Test

Figure 5: Next click on the graphics object you would like to edit. At the bottom you can alter its properties

For more information on any of the internal functions, please refer to the MATLAB Documentation

(back to top)

Roadmap

  • Format axes to a standard
  • Change aspect ratios to certain useful presets
  • Find multiple open figures and update once one closes
  • Added special close request to update available figures after one close
    • Could somehow find a way to auto update when new figures are plotted
  • Format styling
  • Save configuration of settings to some preset file to load later

See the open issues for a full list of proposed features (and known issues).

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

Distributed under the BSD 3-Clause License. See LICENSE.txt for more information.

(back to top)

Contact

SolarSpec - SolarSpec Website - vidihari@student.ubc.ca

Project Link: https://github.com/SolarSpec/OnePanelFig

(back to top)

Acknowledgments

(back to top)

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages