# [R] Axis with inverse logarithmic scale

John Fox j|ox @end|ng |rom mcm@@ter@c@
Mon Jul 27 18:57:57 CEST 2020

```Dear Dileepkumar R,

As is obvious from the tick marks, the vertical axis is not log-scaled:

> log10(99.999) - log10(99.99)
[1] 3.908865e-05
> log10(99) - log10(90)
[1] 0.04139269

That is, these (approximately?) equally spaced ticks aren't equally
spaced on the log scale.

The axis is instead apparently (at least approximately) on the logit
(log-odds) scale:

> library(car)
> logit(99.999) - logit(99.99)
[1] 2.302675
> logit(99) - logit(90)
[1] 2.397895

You can get a graph close to the one you shared via the following:

library(car) # repeated so you don't omit it
> logits <- logit(y_values)
> plot(x_value, logits, log="x", axes=FALSE,
+      xlim=c(1, 200), ylim=logit(c(10, 99.999)),
+      xlab="Precipitation Intensity (mm/d)",
+      ylab="Cumulative Probability",
+      main="Daily U.S. Precipitation",
+      col="magenta")
> axis(1, at=c(1, 2, 5, 10, 20, 50, 100, 200))
> probabilityAxis(side=2, at=c(10, 30, 50, 90, 99, 99.9, 99.99,
99.999)/100)
> box()

This produces probabilities, not percents, on the vertical axis, which
conforms to what the axis label says. Also, the ticks in the R version
point out rather than into the plotting region -- the former is
generally considered better practice. Finally, the graph is not a
histogram as the original title states.

I hope this helps,
John

--------------------------------------------
John Fox
Professor Emeritus
McMaster University
web: https://socialsciences.mcmaster.ca/jfox/

On 7/27/2020 11:56 AM, Dileepkumar R wrote:
> I think the attached sample figure is not visible
> Here is the sample figure:
>
> sincerely,
>
>
> Dileepkumar R
>
>
>
>
> On Mon, Jul 27, 2020 at 7:13 PM Dileepkumar R <dileepkunjaai using gmail.com>
> wrote:
>
>> Dear All,
>>
>> I want to plot a simple cumulative probability distribution graph with
>> like the attached screenshot.
>> But I couldn't fix the y-axis scale as in that screenshot.
>>
>> My data details are follows:
>>
>> y_values
>> =c(66.78149,76.10846,81.65518,85.06448,87.61703,89.61314,91.20297,92.36884,
>> 93.64070,94.57693,95.23052,95.75163,96.15792,96.58188,96.97933,97.29730,
>> 97.59760,97.91556,98.14520,98.37485,98.57799,98.74580,98.87829,99.06377,
>> 99.16093,99.25808,99.37290,99.45239,99.54072,99.59371,99.62904,99.66437,
>> 99.69970,99.70853,99.72620,99.73503,99.77036,99.79686,99.80569,99.82335,
>> 99.83219,99.84985,99.86751,99.87635,99.87635,99.90284,99.90284,99.90284,
>> 99.91168,99.92051,99.92051,99.93817,99.93817,99.93817,99.95584,99.95584,
>> 99.97350,99.97350,99.97350,99.97350,99.97350,99.97350,99.97350)
>>
>> x_value=seq(63)
>>
>> Thank you all in advance
>>
>> Dileepkumar R
>>
>
> 	[[alternative HTML version deleted]]
>
> ______________________________________________
> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help