add declarative skewt plotting
Description Of Changes
This PR add the ability to create a SkewT plot through the declarative syntax. In addition to that, I have implemented a function for plotting skewT special lines with labels (based off of code from @DrKimWood, thanks!). There is some slight reorganization of declarative to anticipate some repeated code - we'll see what the checkers say to potentially do more of that.
This is initially a draft PR to allow for comments and evolution on naming and other things within the code.
A few tests have been added, but there could likely be more.
If anyone would like to take this draft forward, please feel free!
Checklist
- [ ] Closes #xxxx
- [x] Tests added
- [x] Fully documented
Not sure why exactly this is failing with our minimum versions. Also, this is now conflicting with declarative.py.
Yeah, I don't know why its conflicting with minimum, other than there was some difference with Matplotlib 3.3.0 compared to current versions?
Yes, I had conflicts with the latest rebase due to pulling out some elements to a PanelTraits class since this PR introduces a new Panel type (SkewPanel along with our long standing MapPanel). There were also some other conflicts with the addition of ArrowPlot. Now that the additional titles are merged, I'll rebase on the current main and see if we can get a cleaner merge.
I've come across a small package called matplotlib-label-lines that might be a better solution than what is implemented in the PR. Thoughts on using this or adopting some of their code?