[R] ggplot y-axis labels are not continuous

Mohan Radhakrishnan radhakrishnan.mohan at gmail.com
Mon Sep 15 07:07:06 CEST 2014


I have more control over labels using David's suggestion.

scale_y_continuous(breaks=seq(min(df.melted$value)-20000,max(df.melted$value),by=1700000)

Thanks,
Mohan

On Mon, Sep 15, 2014 at 10:14 AM, Mohan Radhakrishnan <
radhakrishnan.mohan at gmail.com> wrote:

> options("scipen"=100, "digits"=4)
> df.melted$value<-as.integer(df.melted$value)
>
> I was not looking at the return type of 'format'. But these alternative
> work well.
>
> Thanks,
> Mohan
>
> On Sun, Sep 14, 2014 at 9:57 PM, David Winsemius <dwinsemius at comcast.net>
> wrote:
>
>>
>> On Sep 14, 2014, at 1:15 AM, Mohan Radhakrishnan wrote:
>>
>>  Thanks Dennis.
>>>
>>> df.melted$value<-as.numeric(df.melted$value)
>>>
>>
>> See the FAQ about converting factors to numeric.
>>
>> The more typical way of making that conversion is:
>>
>>  df.melted$value<-as.numeric(as.character(df.melted$value))
>>
>> ... although the FAQ points out that this is more efficient:
>>
>>  df.melted$value<-levels(df.melted$value)[ df.melted$value]
>>
>>
>>  df.melted$value <- format(df.melted$value, scientific = FALSE)
>>>
>>
>> So you started out with a factor and then you converted back to a
>> character with `format`? Was that what was really desired? You probably
>> want to leave it as numeric and then you plotting routines will "know" what
>> type of axis to create for the data features. If you are in the ggplot
>> world view then there will be functions like scale_x_continuous that
>> appears to offer a 'labels' parameter. Reading the help page for
>> scale_continuous it seems that you might want to try formating the result
>> of the `waiver()` function, but the somewhat older version of the package I
>> have on this aging laptop does not have any worked examples.
>>
>>
>>
>>
>>>
>>> Mohan
>>>
>>> On Sun, Sep 14, 2014 at 9:22 AM, Dennis Murphy <djmuser at gmail.com>
>>> wrote:
>>>
>>>  Hi:
>>>>
>>>> Try
>>>>
>>>> str(df.melted)
>>>>
>>>> I'm guessing value is a factor. It needs to be numeric or integer.
>>>>
>>>> Dennis
>>>>
>>>>
>>>> On Sat, Sep 13, 2014 at 12:53 PM, Mohan Radhakrishnan
>>>> <radhakrishnan.mohan at gmail.com> wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> This is the code to create a ggplot. The plot is rendered but the
>>>>> y-axis
>>>>> labels are not continuous. So the lines are split.
>>>>>
>>>>> Moreover multiple y-axis labels overwrite each other due to this. How
>>>>>
>>>> can I
>>>>
>>>>> fix this?
>>>>>
>>>>> If I try to set ylim I get "
>>>>>
>>>>> *Discrete value supplied to continuous scale"*
>>>>>
>>>>> library(RJSONIO)
>>>>> library(ggplot2)
>>>>> this.dir <- dirname(parent.frame(2)$ofile)
>>>>> setwd(this.dir)
>>>>>
>>>>> airlines   = fromJSON("json")
>>>>> df <- sapply(airlines$data,unlist)
>>>>> df <- data.frame(t(df))
>>>>> colnames(df) <- c( (airlines[[1]][[1]])[[2]],
>>>>> gsub("[^A-Z]","",(airlines[[1]][[2]])[[2]]),
>>>>> gsub("[^A-Z]","",(airlines[[1]][[3]])[[2]] ),
>>>>> gsub("[^A-Z]","",(airlines[[1]][[4]])[[2]]),
>>>>> (airlines[[1]][[5]])[[2]],
>>>>> (airlines[[1]][[6]])[[2]], (airlines[[1]][[7]])[[2]],
>>>>> (airlines[[1]][[8]])[[2]],
>>>>> (airlines[[1]][[9]])[[2]],(airlines[[1]][[10]])[[2]] )
>>>>>
>>>>> df.melted <- melt(df, id = "YEAR")
>>>>> print(ggplot(data = df.melted, aes(x = YEAR, y = value, color =
>>>>>
>>>> variable))
>>>>
>>>>> +geom_point() + theme(axis.text.x = element_text(angle = 90, hjust =
>>>>> 1))
>>>>>
>>>> +
>>>>
>>>>> ylab(""))
>>>>> dev.off()
>>>>>
>>>>>
>>>>>  head(df)
>>>>>>
>>>>>
>>>>>     YEAR INTERNATIONALACMINNOS DOMESTICACMINNOS TOTALACMINNOS
>>>>>
>>>>> 1 1995-96                 92515           314727        407242
>>>>>
>>>>> 2 1996-97                 94884           324462        419346
>>>>>
>>>>> 3 1997-98                 98226           317531        415757
>>>>>
>>>>> 4 1998-99                 99563           325392        424955
>>>>>
>>>>> 5 1999-00                 99701           368015        467716
>>>>>
>>>>> 6 2000-01                103211           386575        489786
>>>>>
>>>>>  INTERNATIONAL PAX (IN NOS) DOMESTIC PAX (IN NOS) TOTAL PAX (IN NOS)
>>>>>
>>>>> 1                   11449756              25563998           37013754
>>>>>
>>>>> 2                   12223660              24276108           36499768
>>>>>
>>>>> 3                   12782769              23848833           36631602
>>>>>
>>>>> 4                   12916788              24072631           36989419
>>>>>
>>>>> 5                   13293027              25741521           39034548
>>>>>
>>>>> 6                   14009052              28017568           42026620
>>>>>
>>>>>  INTERNATIONAL FREIGHT (IN MT) DOMESTIC FREIGHT (IN MT) TOTAL FREIGHT
>>>>>
>>>> (IN
>>>>
>>>>> MT)
>>>>>
>>>>> 1                        452853                   196516
>>>>> 649369
>>>>>
>>>>> 2                        479088                   202122
>>>>> 681210
>>>>>
>>>>> 3                        488175                   217405
>>>>> 705580
>>>>>
>>>>> 4                        474660                   224490
>>>>> 699150
>>>>>
>>>>> 5                        531844                   265570
>>>>> 797414
>>>>>
>>>>> 6                        557772                   288373
>>>>> 846145
>>>>>
>>>>>
>>>>> Thanks,
>>>>>
>>>>> Mohan
>>>>>
>>>>>        [[alternative HTML version deleted]]
>>>>>
>>>>> ______________________________________________
>>>>> R-help at r-project.org mailing list
>>>>> 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.
>>>>>
>>>>
>>>>
>>>         [[alternative HTML version deleted]]
>>>
>>> ______________________________________________
>>> R-help at r-project.org mailing list
>>> 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.
>>>
>>
>> David Winsemius, MD
>> Alameda, CA, USA
>>
>>
>

	[[alternative HTML version deleted]]



More information about the R-help mailing list