В R функция plot()
принимает аргумент pch
, который управляет появлением точек на графике. Я делаю разброс с десятками тысяч точек и предпочитаю небольшую, но не слишком маленькую точку. В принципе, я нахожу pch='.'
слишком маленьким, но pch=19
слишком толстым. Есть что-то посередине или каким-то образом масштабировать точки вниз?
Контролировать размер точек в R-диаграмме рассеяния?
Ответ 1
Попробуйте аргумент cex
:
?par
-
cex
Числовое значение, дающее сумма, с помощью которой выполняется печать текста и символы должны быть увеличены относительно по умолчанию. Обратите внимание, что некоторые графические функции, такие как plot.default имеет аргумент этого имя, которое умножает этот графический параметр и некоторые функции, такие как точки принимают вектор значений которые перерабатываются. Другие виды использования возьмем только первое значение, если вектор длины больше единицы, в комплект поставки.
Ответ 2
pch = 20 возвращает символ размером от "." и 19.
Это заполненный символ (который, вероятно, вы хотите).
Кроме того, даже базовая графическая система в R позволяет пользователю мелкомасштабного управления размером, цветом и формой символа. Например.
dfx = data.frame(ev1=1:10, ev2=sample(10:99, 10), ev3=10:1)
with(dfx, symbols(x=ev1, y=ev2, circles=ev3, inches=1/3,
ann=F, bg="steelblue2", fg=NULL))
Ответ 3
Как указано rcs, cex
выполнит задание в базовом графическом пакете. Я полагаю, что вы не хотите делать свой график в ggplot2
, но если вы это сделаете, то атрибут size
aesthetic, который вы можете легко контролировать (ggplot2
имеет удобные аргументы функции: вместо ввода cex
(расширение символов), в ggplot2
вы можете набрать, например, size = 2
, и вы получите 2 мм точки).
Вот пример:
### base graphics ###
plot(mpg ~ hp, data = mtcars, pch = 16, cex = .9)
### ggplot2 ###
# with qplot()
qplot(mpg, hp, data = mtcars, size = I(2))
# or with ggplot() + geom_point()
ggplot(mtcars, aes(mpg, hp), size = 2) + geom_point()
# or another solution:
ggplot(mtcars, aes(mpg, hp)) + geom_point(size = 2)