LabVIEWLife at ProlucidNational InstrumentsSoftware Development

Contributing to Open Source – LabVIEW Graph Extensions

By May 18, 2016 No Comments

Prolucid not only leverages a number of open source technologies to build solutions, but also contributes to them, sometimes from within our company projects and sometimes from individual team members. These projects and individual contributions have been very beneficial to what we do and what we can provide to our customers, so making contributions to the open source community is very important to us.  Today I’ll demonstrate one of the open source projects that I’ve contributed and outline where I hope others can make use of it and contribute similarly.  So, the project is Graph Extensions for LabVIEW.  These graph extensions can be added to any LabVIEW application and have been built to easily connect together.

Why Build Graph Extensions for LabVIEW?

One of LabVIEW’s strengths is its ability to quickly develop graphing tools and to visualize the data used in your application.  However, many of the graphing tools are rather fixed in their visual appearance or they are outdated from a usability standard that customers demand today for visual interaction.  With that in mind, I wanted to extend the capabilities of LabVIEW’s graphs and have created many tools over the years to do just that.  I’ve decided to continue adding to the open source LabVIEW community by building a brand new graph extension toolset that adds some great functionality to XY and waveform graphs in LabVIEW.

How do Graph Extensions for LabVIEW work?

Pretty much any LabVIEW developer will have used graphs in some form or another, but many have not explored it’s deep set of properties, especially the ones not exposed with any kind of UI in its properties panel.  The properties that are key to this project are the Image Layers (Front, Middle and Back) that allow any graph to have data drawn within its borders using the picture control.  Now, this interaction between the two (graphs themselves and the picture control layers) is what allows this project to help visualize more data than available by default.

The three layers allow you to place any picture control graphics into the images:

  1. Back – Behind all plots and the grid lines
  2. Middle – Behind the plot but in front of the grid lines
  3. Front – In front of all plots and grid lines

The best way to explore what you can do with these graph extensions is to have a look at this demo showing markers and cursors.

Graph Extensions for LabVIEW Demonstration

How to Use Graph Extensions

Using Graph Extensions is pretty simple, they can first be downloaded from the the graph extensions project page in github.  You can see more examples there, check out each of the available extensions and everything else a github project lets you do.  Once downloaded, open up the project and examples are provided for each of the graph extensions.  They are built to simply add to an existing application using graphs, with minimal effort and learning curve.

Contributing to Open Source

I encourage you to contribute back however you can, perhaps that is making improvement suggestions, sharing this article or the project, promoting the extension to others, or adding your own extension and contributing source code directly to this project to enhance it.  I’ll be presenting this topic at the Calgary Alberta LabVIEW user group meeting on May 31, 2016, where I’ll walk through the extensions, more of the implementation and answer questions about using it and adding to it.  One of the things it currently needs, is additional graph data type support since LabVIEW graphs can handle several data formats, the current implementation is limited with these different types.

Also, feel free to explore a few more of the Prolucid and Prolucid staff contributions and please let us know or comment if you have any questions!

Additional Repositories