[R] Annotation Ticks on the axis

Vivek Sutradhara viveksutra at gmail.com
Fri Aug 11 12:23:53 CEST 2017


Hi,
Thanks for the quick answer. I looked into the link that you provided. But
I am still not able to implement a solution. Here is my attempt :

library(ggplot2)
x<-1:10
y<-x^2
df<-data.frame(x=x,y=y)
p1<-ggplot(df,aes(x,y))+geom_point()+
  scale_x_log10(
    breaks = scales::trans_breaks("log10", function(x) 10^x),
    labels = scales::trans_format("log10", scales::math_format(10^.x))
  ) +
  scale_y_log10(
    breaks = scales::trans_breaks("log10", function(x) 10^x),
    labels = scales::trans_format("log10", scales::math_format(10^.x))
  ) +theme_bw()
p2<-p1 + annotation_logticks()
p2


p2 + scale_y_continuous(sec.axis = sec_axis(~.))
I get the following error :
Scale for 'y' is already present. Adding another scale for 'y', which will
replace the existing scale.

My questions :
1. How do I change the breaks and labels to correspond to those in my
earlier plot with R graphics? I don't want the 10^x format.
2. When I try with the annotation_logticks('trbl') option in the above
code, I get the error :
Error in base - 1 : non-numeric argument to binary operator
3. I don't see how I can use the secondary axis option. I can see how I can
multiply the y-variable (or x) by a constant ( e.g. by sec_axis(~.*10)).
But I don't see how I can use it with a function. For example, with log or
exp.
4. How can I create extra space in the margins with ggplot? Would the par()
command work here as well?

Would appreciate continued help.
Thanks

2017-08-11 11:49 GMT+02:00 PIKAL Petr <petr.pikal at precheza.cz>:

> Hi
>
> see in line
> > -----Original Message-----
> > From: R-help [mailto:r-help-bounces at r-project.org] On Behalf Of Vivek
> > Sutradhara
> > Sent: Friday, August 11, 2017 11:02 AM
> > To: r-help <r-help at r-project.org>
> > Subject: [R] Annotation Ticks on the axis
> >
> > Hi all,
> >
> > I would like to have help in getting annotation ticks (corresponding to
> the
> > minor grid) on my plot. Here is my toy example :
> >
> >
> > par(mar=c(5, 6, 5, 5) + 0.1)
> >
> > x<-1:10
> >
> > y<-x^2
> >
> > plot(x,y,log="xy",xlab="log(x)",ylab="log(y)")
> >
> > par(new=T)
> >
> > plot(log(x),log(y),type='n',col="red",xaxt="n",yaxt="n",xlab="",ylab="")
> >
> > axis(side=3,tick=TRUE,at=pretty(range(log(x))))
> >
> > mtext("log(x) with log labels",side=3,line=3)
> >
> > axis(side=4,tick=TRUE,at=pretty(range(log(y))))
> >
> > mtext("log(y) with log labels",side=4,line=3)
> >
> > par()
> >
> >
> > I have the following questions :
> >
> > 1. I get a long output after the final par command. How can I make this
> output
> > silent?
>
> pp<-par()
>
> >
> > 2. I would like to get ticks corresponding to the command
> annotation_logticks
> > in ggplot2. Actually, it would be easiest for me to work directly with
> ggplot. But
> > I am not able to implement the secondary axis option with ggplot. Would
> > appreciate help with that, if it is easier.
>
> http://ggplot2.tidyverse.org/reference/sec_axis.html
>
> Cheers
> Petr
>
> >
> > Thanks,
> >
> > Vivek
> >
> >       [[alternative HTML version deleted]]
> >
> > ______________________________________________
> > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> > https://stat.ethz.ch/mailman/listinfo/r-help
> > PLEASE do read the posting guide http://www.R-project.org/
> posting-guide.html
> > and provide commented, minimal, self-contained, reproducible code.
>
> ________________________________
> Tento e-mail a jakékoliv k němu připojené dokumenty jsou důvěrné a jsou
> určeny pouze jeho adresátům.
> Jestliže jste obdržel(a) tento e-mail omylem, informujte laskavě
> neprodleně jeho odesílatele. Obsah tohoto emailu i s přílohami a jeho kopie
> vymažte ze svého systému.
> Nejste-li zamýšleným adresátem tohoto emailu, nejste oprávněni tento email
> jakkoliv užívat, rozšiřovat, kopírovat či zveřejňovat.
> Odesílatel e-mailu neodpovídá za eventuální škodu způsobenou modifikacemi
> či zpožděním přenosu e-mailu.
>
> V případě, že je tento e-mail součástí obchodního jednání:
> - vyhrazuje si odesílatel právo ukončit kdykoliv jednání o uzavření
> smlouvy, a to z jakéhokoliv důvodu i bez uvedení důvodu.
> - a obsahuje-li nabídku, je adresát oprávněn nabídku bezodkladně přijmout;
> Odesílatel tohoto e-mailu (nabídky) vylučuje přijetí nabídky ze strany
> příjemce s dodatkem či odchylkou.
> - trvá odesílatel na tom, že příslušná smlouva je uzavřena teprve
> výslovným dosažením shody na všech jejích náležitostech.
> - odesílatel tohoto emailu informuje, že není oprávněn uzavírat za
> společnost žádné smlouvy s výjimkou případů, kdy k tomu byl písemně zmocněn
> nebo písemně pověřen a takové pověření nebo plná moc byly adresátovi tohoto
> emailu případně osobě, kterou adresát zastupuje, předloženy nebo jejich
> existence je adresátovi či osobě jím zastoupené známá.
>
> This e-mail and any documents attached to it may be confidential and are
> intended only for its intended recipients.
> If you received this e-mail by mistake, please immediately inform its
> sender. Delete the contents of this e-mail with all attachments and its
> copies from your system.
> If you are not the intended recipient of this e-mail, you are not
> authorized to use, disseminate, copy or disclose this e-mail in any manner.
> The sender of this e-mail shall not be liable for any possible damage
> caused by modifications of the e-mail or by delay with transfer of the
> email.
>
> In case that this e-mail forms part of business dealings:
> - the sender reserves the right to end negotiations about entering into a
> contract in any time, for any reason, and without stating any reasoning.
> - if the e-mail contains an offer, the recipient is entitled to
> immediately accept such offer; The sender of this e-mail (offer) excludes
> any acceptance of the offer on the part of the recipient containing any
> amendment or variation.
> - the sender insists on that the respective contract is concluded only
> upon an express mutual agreement on all its aspects.
> - the sender of this e-mail informs that he/she is not authorized to enter
> into any contracts on behalf of the company except for cases in which
> he/she is expressly authorized to do so in writing, and such authorization
> or power of attorney is submitted to the recipient or the person
> represented by the recipient, or the existence of such authorization is
> known to the recipient of the person represented by the recipient.
>

	[[alternative HTML version deleted]]



More information about the R-help mailing list