I have a list of numbers, e.g. {{1.,0``27.698970004336022},{2.,0``27.698970004336015}} but usually much longer, suitable for ListPlot. ListPlot however does not display anything, even if I reduce PlotRange manually. Obviously the numbers are too small for ListPlot. The numbers do indeed represent only noise, the relative deviation of two numerical computations at different precision. I do this because I want a visual ipression of the numerical error of a computation depending on one parameter. Can I give an argument to ListPlot or similar in order to force it to display the small numbers and, if not, how can I compactly multiply the second elements in the list by a suitable number to scale the plot range to 0...1?

  • $\begingroup$ I got 2 points with ListPlot, what do you think 0``27.698970004336022 is? $\endgroup$
    – Kuba
    Jan 4, 2014 at 14:22
  • $\begingroup$ I get two points as well. They are both on the x-axis and the y-axis ranges from -1 to 1. I read 0``27.698970004336022 as 0.698970004336022*10^(-27) (do I read that incorrectly?) and I want a plot scaled such that this number can be seen to be different from the second one. $\endgroup$
    – highsciguy
    Jan 4, 2014 at 14:32
  • $\begingroup$ You have two zeroes with different uncertainty. How do you think should ListPlot turn your uncertainties into certain values different from zero? Are you sure that you understood what Accuracy means? $\endgroup$
    – halirutan
    Jan 4, 2014 at 14:32
  • $\begingroup$ @halirutan So I read the numbers incorrectly? $\endgroup$
    – highsciguy
    Jan 4, 2014 at 14:34
  • $\begingroup$ @highsciguy No, you misunderstand the syntax. Please read the documentation for Accuracy. $\endgroup$ Jan 4, 2014 at 14:47

1 Answer 1


I think your reasoning about the numbers you want to plot is flawed. Let's make a simple example


(* 1.0000 *)

If you specify the accuracy like that, you say that you are uncertain of the digits that could possibly follow after 1.0000. Therefore, if you have an Accuracy of 5 and there are some digits after the zeroes, they are not taken into account

1.0000111``5 - 1.0000000``5
1.0000123``5 - 1.0000111``5
(* 0.*10^-5

Both calculation give 0 with an accuracy of 5. It doesn't matter whether there are further digits.

In your example you are basically telling that you have two zeroes. The only difference is that you have different numbers of digits you are certain of. Therefore, plotting or even rescaling is useless, because you just don't know a specific difference between the numbers.

Rescale[{0``27.698970004336022, 0``27.698970004336015}]

(* {0, 0} *)

I hope this helps you understand why plotting does not work as you might have expected it.


Regarding your comment

Is 27.698970004336015 the fractional accuracy?

Yes, you are right and you might want to look at the Input Syntax Tutorial in the documentation. Let me cite from there

The precision or accuracy s can be any real number; it does not need to be an integer.

  • $\begingroup$ Thanks, I understand the notation 1.0000111``5, but in 0``27.698970004336015, what is the meaning of the digits after the dot? Is 27.698970004336015 the fractional accuracy? I don't find an example of this sort in the documentation of Accuracy $\endgroup$
    – highsciguy
    Jan 4, 2014 at 15:01
  • $\begingroup$ @highsciguy I updated my answer. $\endgroup$
    – halirutan
    Jan 4, 2014 at 15:18
  • $\begingroup$ Ok, thanks that confused me, even though I knew that there are fractional accuracies. $\endgroup$
    – highsciguy
    Jan 4, 2014 at 15:24
  • $\begingroup$ The precision and accuracy are represented as real numbers, though in this case the difference between them is not significant. This is because Mathematica uses pseudo-first-order error propagation, so this value represents something like a derivative. But, ultimately, it is not a continuous scale, since calculations must be done with a particular number of base-2 digits of precision, rather than in some abstract base. $\endgroup$ Jan 4, 2014 at 19:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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