Assuming is.character(MyColours) = TRUE
where MyColours contains a number of hexadecimal colour values.
How do I ensure that when I want to plot using ggplot I can ensure that MyColours[1] will always be used to represent "Ford" and MyColour[3] will represent "Toyota" when I can't guarantee the order "Ford" or "Toyota" will appear in the observations I use to plot.
While the geo_bar example below was helpful and did remind me to add column names to MyColours
I'm hoping to plot lines not bars
ggplot(MyData, aes(x = TimePeriod, y = CountOfItems,
group = Account, color = scale_fill_manual(values = MyColours)))
+ geom_line(size = 1)
+ theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1))
I get the error Aesthetics must either be length one, or the same length as the dataProblems:scale_fill_manual(values = MyColours)
even when length(MyColours)
is equal to length(unique(MyData$Account))
Sample Data
dput(MyData)
structure(list(Account = structure(c(1L, 2L, 1L, 2L), .Label = c("Mazda RX4",
"Toyota Corolla"), class = "factor"), CountOfItems = c(14, 120,
23, 345), TimePeriod = structure(c(1L, 2L, 2L, 3L), .Label = c("2010-12",
"2011-01", "2011-02"), class = "factor")), .Names = c("Account",
"CountOfItems", "TimePeriod"), row.names = c(NA, -4L), class = "data.frame")
Is it possible to use scale_fill_manual with line plots?