Для 32-битных поплавков IEEE аргументация состоит в том, что точность должна быть не менее хорошей, чем 24-битная фиксированная точка.
Почему именно 24 бита, я не знаю, но кажется разумный компромисс.
Я полагаю, что хороший «круглый» номер (mantissa + sign = 3 bytes, exponent = 1 byte) также может сделать реализации более эффективными.
Не думаю, что ggplot2
позволит вам дважды изменить цвет и обновить легенду. Кажется, я вспоминаю, что вы не можете дважды изменить scale_color_manual
в сюжете. Я не смог найти эту веб-страницу, но это сообщение касается темы. Я также попытался использовать предложения в этой записи , но это не сработало. Вероятно, потому что мы пытаемся смешать geoms
(но это только предположение).
Я могу получить либо линии регрессии:
part1 <-
ggplot(currDT,
aes(x = EFP, y = SAPT), na.rm = TRUE) +
stat_smooth(method = "lm", formula = y ~ x + 0,
aes(linetype = Halide, colour = Halide),
alpha = 0.8, size = 0.5, level = 0) +
scale_linetype_manual(name = "", values = c("dotdash", "F1"),
breaks = c("hal", "non-hal"),
labels = c("Halides", "Non-Halides")) +
scale_color_manual(name = "", values = c("red", 'blue'),
labels = c("Halides", "Non-Halides"))
ggsave('part1.jpeg', part1)
[/g2] Или данные указывают на график:
part2 <-
ggplot(currDT,
aes(x = EFP, y = SAPT), na.rm = TRUE) +
geom_point(aes(color = Anion, shape = Cation), size = 3, alpha = 0.4) +
scale_linetype_manual(name = "", values = c("dotdash", "F1"),
breaks = c("hal", "non-hal"),
labels =c("Halides", "Non-Halides")) +
scale_colour_manual(values = my_col_scheme)
ggsave('part2.jpeg', part2)
[/g3] Но не оба:
both <-
ggplot(currDT,
aes(x = EFP, y = SAPT), na.rm = TRUE) +
stat_smooth(method = "lm", formula = y ~ x + 0,
aes(linetype = Halide, colour = Halide),
alpha = 0.8, size = 0.5, level = 0) +
scale_linetype_manual(name = "", values = c("dotdash", "F1"),
breaks = c("hal", "non-hal"), labels = c("Halides", "Non-Halides")) +
geom_point(aes(color = Anion, shape = Cation), size = 3, alpha = 0.4) +
scale_colour_manual(values = my_col_scheme)
ggsave('both.jpeg', both)
[/g4]
Я думаю, вам нужно будет добавить каждое руководство по каждой строке. Надеюсь, кто-то еще знает, как ответить на это, но я не думаю, что @hadley позволяет изменять оба цвета. К счастью, вы data.table
, поэтому это должно быть легко сделать: -)
Комментировать кому-то еще, пытаясь решить эту проблему. Надеюсь, мой частичный ответ поможет вам ответить на этот вопрос. Кроме того, мой третий рисунок показывает, как ggplot2
не получает цвет легенды, как это хочет OP. В качестве другого совета вы можете попробовать играть с легендарными опциями.
part 1
с галоидной / негалоидной легендой о правильных цветах в нужном месте, затем напечатайтеboth
с отключенной легендой, прозрачным фоном и легендами катиона и галида, расположенными так, чтобы они не перекрывали первая легенда? – Hsif 30 April 2015 в 03:32my_col_scheme
@geryan, вы предлагаете создать два сюжета, а затем наложить их один поверх другого? Может ли это быть сделано в самом R или мы будем смотреть на внешнюю программу манипуляции изображениями? – Samuel Tan 30 April 2015 в 03:38ggplot
дал вам сюжет, который вы получили. Я попытался использовать fill, но не понял, что мне также пришлось изменитьcolor
наNA
. – Richard Erickson 30 April 2015 в 12:27colour=NA
, если вам не нужна граница вокруг точек. Если вы не против границы, вы можете опуститьcolour=NA
и получить черную рамку, или вы можете установить цвет в соответствии с тем, что вы предпочитаете. – eipi10 1 May 2015 в 01:09fill
вместоcolour
. Я бы не играл сguides
достаточно долго, чтобы получить легенду, которую хочу. Это делает работу. На данный момент, по крайней мере, потому что я всегда открыт для других методов. – Samuel Tan 1 May 2015 в 05:39fill
вместоcolour
дляgeom_point
работает, только если вы также i> укажитеshape
внутри или внеaes
. – p00ya 15 December 2017 в 02:37