2015-09-05 4 views
2

Я новичок в R, и я написал ниже, чтобы создать график, в котором точки окрашены на основе третьей переменной, по шкале от цветовой рампы, идущей красным/желтым/зеленым , Он отлично работает, но у меня есть несколько точек, которые перекрываются, поэтому окончательный сюжет не так ясен, как хотелось бы. Есть ли способ использовать colorramp с полупрозрачными цветами?R Комбинация rColorRamp & Transparency

col<- colorRampPalette(c("#d62728", "#fbee29","#2ca02c")) 
sto.col <- col(100) 

plot(agg.ASP$OTB.Qty,agg.ASP$ASP, type="n") 
for (i in 1:length(agg.ASP$STO)) { 
    col.index <- agg.ASP$STO[i] * 100 
    points(agg.ASP$OTB.Qty[i], agg.ASP$ASP[i], col=sto.col[col.index], pch=16) 
} 
+0

'sto.col = paste0 (столбец (100), "33") '? – nsheff

ответ

2

ваша colorRampPalette() функция (col) возвращает шестнадцатеричный код цвета; вы можете просто добавить еще 2 символа, означающих непрозрачность результата; Например, я просто изменить 1 строку в коде (заменить '33' здесь с уровнем прозрачности вы хотите):

col<- colorRampPalette(c("#d62728", "#fbee29","#2ca02c")) 
sto.col = paste0(col(100), "33") 

plot(agg.ASP$OTB.Qty,agg.ASP$ASP, type="n") 
for (i in 1:length(agg.ASP$STO)) { 
    col.index <- agg.ASP$STO[i] * 100 
    points(agg.ASP$OTB.Qty[i], agg.ASP$ASP[i], col=sto.col[col.index], pch=16) 
} 
+0

работает отлично, спасибо! –