A Graphical User Interface
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
Table of Contents
Format basic properties of your plots through our GUI
To begin using this app is very simple. Just verify you have the necessary prequisites and follow the installation instructions.
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.
- Clone the repo to your PC
git clone https://github.com/SolarSpec/OnePanelFig.git
- Install the application
Click on the .mlappinstall file in your repository to open and install in MATLAB - Browse the APPS header
You will find the recently installed application and can add it to your favourites
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.
Figure 1: Boot the application Figure 2: Plot your data Figure 3: Update your GUI with the update butonNext, 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:
Figure 4: Click on the view tool and choose property editor Figure 5: Next click on the graphics object you would like to edit. At the bottom you can alter its propertiesFor more information on any of the internal functions, please refer to the MATLAB Documentation
- 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).
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!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the BSD 3-Clause License. See LICENSE.txt for more information.
SolarSpec - SolarSpec Website - vidihari@student.ubc.ca
Project Link: https://github.com/SolarSpec/OnePanelFig




