MATLAB Answers

How can I improve this plot?

5 views (last 30 days)
Hi all! I'm asking a little but of support for solving a small issue concerning the following plot:
I would like to improve its readability because for large time spans, all you can see are small spikes of non-zero data basically. Which is absolutely correct, but hard to interpret.
I tried to use 30 days or 60 days movmean (over a total time span of 15 years) to smooth the underlying data being plotted, but unfortunately the obtained result, despite the readability improvement, wasn't so great. All the other smoothing functions I tried completely messed up the plot, which must represent a zero-inflated value.
I was looking for a good solution half-way between a movmean and raw data. Something that can preserve the original magnitude and spikes, providing a visual improvement of the "trend". A sort of interpolation over high and low spikes of data. Something like this (sorry, I'm really bad at drawing):
Can you suggest me a way to obtain that?
I attached the test data I'm using to produce the plot above.

  0 Comments

Sign in to comment.

Accepted Answer

Star Strider
Star Strider on 8 Mar 2020
That looks like something the envelope function would return.

  2 Comments

Tommaso Belluzzo
Tommaso Belluzzo on 8 Mar 2020
Yes... we are on the good path here. Absolutely.
I tried using peak envelope, it's good but there are two major problems for now: finding a generalized value for peaks separation and placing a constraint so that envelope cannot go below zero.
Star Strider
Star Strider on 8 Mar 2020
I am not certain that there is any way to constrain it, although it has a number of parameters (for example 'peak') that you might be able to manipulate to get an acceptable result.
The only other option I can suggest is the sgolayfilt function. It has a few more options, although I am not certain that it can be constrained to remain positive.

Sign in to comment.

More Answers (0)

Tags

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!