0

I want to change Labels in a Legend.

 spi<-read.csv("spill.csv",as.is=TRUE)
 attach(spi)
 spi$date<-as.Date(spi$date)
 str(spi)
 data.frame:   3184 obs. of  3 variables:
 $ data1: chr  "oil to asset" "oil to asset" "oil to asset" "oil to asset" ...
 $ date : Date, format: "2007-01-10" "2007-01-11" ...
 $ sp   : num  7.7 7.95 7.54 7.61 7.67 ...

cont1 <- ggplot(spi,aes(x=date,y=sp,linetype=data1))+geom_line() +
            expand_limits(max(spi$sp), y=c(0,80)) + 
            labs(x = "", y = "") + 
            scale_y_continuous(breaks=seq(0,80,10)) +
            scale_linetype_manual(values = c("dashed","solid")) +  
            scale_x_date(breaks=datebreaks1, labels=date_format("%Y")) +
            ggtitle("Oil and Fianacial Market") +
            annotate("rect", xmin=as.Date("2008-01-02"), xmax=as.Date("2008-06-30"), 
                     ymin=-Inf, ymax=Inf, alpha=.1, fill="blue") +
            theme(legend.position="bottom") + labs(linetype='')  

Then I want to changeing asset to oil and oil to asset.

How I can chahge?

scale_fill_discrete(labels=c("oil to asset" ,"asset to oil"))

This is not working.

Please help me.

eipi10
  • 91,525
  • 24
  • 209
  • 285
wawataiji
  • 19
  • 4
  • 1
    Are you trying to change the labels for your `linetype` legend? You'll need to do that with a `linetype` scale such as `scale_linetype_manual` or `scale_linetype_discrete`, not a `fill` scale. – aosmith Oct 17 '14 at 22:16
  • It would be time easier to help you if attached fully reproducible example. With random data or with a link to real data. – Artem Fedosov Oct 18 '14 at 08:23

1 Answers1

1

This is actually same solution as @aosmith suggested - add right breaks (not labels) to your scale_linetype_manual.

scale_linetype_manual(values = c("dashed","solid"), breaks=c("oil to asset" ,"asset to oil"))

I also recommend you to make your spi$data1 a factor via spi$data1 <- factor(spi$data1). ggplot chooses factor ordering from levels(some_factor_variable. You may avoid specifying the breaks on every graph by changing factor levels ordering. Here is an example how to do it.

Community
  • 1
  • 1
Artem Fedosov
  • 2,163
  • 2
  • 18
  • 28