# ListPlot with high precision

I have a list of numbers, e.g. {{1.,027.698970004336022},{2.,027.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?

• I got 2 points with ListPlot, what do you think 027.698970004336022 is? – Kuba Jan 4 '14 at 14:22
• I get two points as well. They are both on the x-axis and the y-axis ranges from -1 to 1. I read 027.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. – highsciguy Jan 4 '14 at 14:32
• 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? – halirutan Jan 4 '14 at 14:32
• @halirutan So I read the numbers incorrectly? – highsciguy Jan 4 '14 at 14:34
• @highsciguy No, you misunderstand the syntax. Please read the documentation for Accuracy. – Alexey Popkov Jan 4 '14 at 14:47

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

15

(* 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.00001115 - 1.00000005
1.00001235 - 1.00001115

(* 0.*10^-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[{027.698970004336022, 027.698970004336015}]

(* {0, 0} *)


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

### Edit

• Thanks, I understand the notation 1.00001115, but in 027.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 – highsciguy Jan 4 '14 at 15:01