2014-09-08 3 views
0

Это мой пример данные:цвет заливки не соответствует цвету обводки

> head(Plot,n=10) 
    start  end variable value 
1  0 499999 control  1 
2 500000 999999 control  1 
3 1000000 1499999 control  1 
4 1500000 1999999 control  1 
5 2000000 2499999 control  1 
6 2500000 2999999 control  1 
7 3000000 3499999 control  1 
8 3500000 3999999 control  1 
9 4000000 4499999 control  2 
10 4500000 4999999 control  2 

Я хочу построить прямоугольники (и это работает), но я не в состоянии соответствовать заполнить & контурных цветов.
То, что я пробовал:

MyPlot <- ggplot(Plot, aes(xmin=start, xmax=end, ymin=0, ymax=1, fill=factor(value))) + 
    geom_rect(linetype=1, size=0.3, color=factor(value)) 
Error in factor(value) : object 'value' not found 
# This should work somehow as I am getting wanted output if using this: 
# geom_rect(linetype=1, size=0.3, color="black") 

Я пытался поставить color в aes, однако fill и очертить цвета не совпадают:

MyPlot <- ggplot(Plot, aes(xmin=start, xmax=end, ymin=0, ymax=1, fill=factor(value),color=factor(value))) + 
    geom_rect(linetype=1, size=0.3) 

я сюжет все с:

# I have to use pdf 
pdf(paste(Variable,".pdf",sep=""), 
    width = par("din")[1] * 2, 
    height = par("din")[2] * 1) 
print(MyPlot + scale_fill_manual(values=MyPallete)) 
dev.off() 

Мои вопросы:

  • Как использовать color=factor(value) в первом примере &, чтобы не получить ошибку?
    OR
  • Как совместить цвета между fill и контуром, используя второй пример?
+0

Можете ли вы добавить изображение? Я не вижу различий в цветах. – tonytonov

ответ

1

Я решил проблему с scale_colour_manual. Поскольку я масштабирую заполнение вручную, мне также пришлось масштабировать colour вручную.

MyPlot <- ggplot(Plot, aes(xmin=start, xmax=end, ymin=0, ymax=1, fill=factor(value),color=factor(value))) + 
    geom_rect(linetype=1, size=0.3) 
# I have to use pdf 
pdf(paste(Variable,".pdf",sep=""), 
    width = par("din")[1] * 2, 
    height = par("din")[2] * 1) 
print(MyPlot + scale_fill_manual(values=MyPallete) + 
    scale_colour_manual(values=MyPallete)) 
dev.off() 
Смежные вопросы