Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Custom shape in ggplot (geom_point)

Tags:

r

ggplot2

Aim

I am trying to change the shape of the geom_point into a cross (so not a "plus/addition" sign, but a 'death' cross).

Attempt

Let say I have the following data:

library(tidyverse)

df <- read.table(text="x y
                 1    3 
                 2    4 
                 3    6 
                 4    7 ", header=TRUE) 

I am able to change the shape using the shape parameter in geom_point into different shapes, like this:

ggplot(data = df, aes(x =x, y=y)) +  
   geom_point(shape=2)   # change shape

However, there is no option to change the shape into a cross.

Question

How do I change the shape of a value into a cross using ggplot in R?

like image 443
user213544 Avatar asked Feb 21 '19 09:02

user213544


People also ask

What does geom_point () do in R?

The function geom_point() adds a layer of points to your plot, which creates a scatterplot.

What does the stroke aesthetic do?

The stroke aesthetic seems to adjust the plotted object thickness.


1 Answers

Shape can be set to a unicode character. The below uses the skull and crossbones but you can look up a more suitable symbol.

Note that the final result will depend on the font used to generate the plot.

ggplot(data = df, aes(x =x, y=y)) +  
  geom_point(shape="\u2620", size = 10) 

like image 55
Ritchie Sacramento Avatar answered Nov 18 '22 02:11

Ritchie Sacramento