Управляйте размером точек в r Scatterplot?
-
24-09-2019 - |
Вопрос
В г, plot()
Функция принимает а pch
аргумент, который контролирует появление точек на участке. Я делаю разбросы с десятками тысяч очков и предпочитаю маленькую, но не слишком маленькую точку. В основном я нахожу pch='.'
быть слишком маленьким, но pch=19
быть слишком толстым. Есть что-то в середине или какого-то способе масштабирования точек как-то?
Решение
Попробуйте cex
Аргумент:
?par
cex
Численное значение, дающее сумму, с помощью которого построение текста и символы должно быть увеличено относительно по умолчанию. Обратите внимание, что некоторые графические функции, такие как plot.default, имеют аргумент этого имени, который умножает этот графический параметр, а некоторые функции, такие как точки, принимают вектор значений, которые перерабатываются. Другие виды применения примут только первое значение, если поставляется вектор длины превышается.
Другие советы
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))
Так как rcs. заявил, cex
сделаю работу в базовом графическом пакете. Я считаю, что вы не готовы делать свой график в ggplot2
Но если вы сделаете, есть size
Эстетический атрибут, который вы можете легко контролировать (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)