1
$\begingroup$

I have two lists (of data points and error_y) automatically defined for the usage in ErrorListPlots. Sometimes it happens due to the used data, that a list has only one element and then the standard deviation makes no sense, so let's assume the lists look like this:

q0c7ELPD = {{100, 1.70, 0.21}, {105, 1.91, 0.1}, {110, 2.5, 0.3},
{115, 2.3, 0.2}, {120, 2.4, 0.1}, {125, 2.1, 0.2}, {130, 1.9, 0.1}, {135, 2.0, 0.3}};
q0c7B24PlusELPD = {{119.5, 2.0, 0.2}, {124.5, 1.7, StandardDeviation[{1.7}]}, 
{129.5, 2.1, 0.1}, {134.5, 2.2, 0.3}};

Up to now I used Mathematica 10.2 and when plotting both lists via ErrorListPlot

Needs["ErrorBarPlots`"]
ErrorListPlot[{q0c7ELPD, q0c7B24PlusELPD}, PlotRange -> {{98, 142}, {0, 3}}]

The point with the missing sensible error (missing yellow point at x=124.5) was just left out:

I don't know whether this was a bug or a feature but it fitted my purpose very well.

Now I changed to version 11.3 and I get an error:

enter image description here

I'd like to reproduce the behavior of the older version and haven't had any good idea yet. The problem is, that my lists (many of them) are created via functions and I just can't easily take out the data point by hand for every of them.

In the documentation (https://reference.wolfram.com/language/ref/Missing.html) I found a sentence "Visualization typically automatically filters out Missing elements". But obviously this doesn't work in my specific case.

Since I always got nice hints and ideas in this forum, I decided to post this question as well. So in case anybody has an idea, I'd be very grateful.

$\endgroup$
  • $\begingroup$ StandardDeviation[{1.7}] does not appear to be correct syntactically. If you evaluate it by itself it gives an error: "StandardDeviation::shlen: The argument {1.7} should have at least two elements." Please try to fix that and see if it fixes your issue. $\endgroup$ – Carl Lange Jan 11 at 11:14
  • $\begingroup$ @ Carl Lange Yes I know, but since the lists are generated automatically I can't prevent this from time to time. $\endgroup$ – Lea 2 days ago
1
$\begingroup$

This appears to give the same behavior:

filtered=DeleteCases[q0c7B24PlusELPD,{_,_,_StandardDeviation}];

ErrorListPlot[{q0c7ELPD, filtered}, PlotRange -> {{98, 142}, {0, 3}}]
$\endgroup$

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.