[R] Customizing plot

PIKAL Petr petr@p|k@| @end|ng |rom prechez@@cz
Mon Feb 8 08:07:27 CET 2021


Hallo Mahmood

I recently struggled with similar problem useing factoextra package. You
could fiddle with xlim and ylim to set size of plot and col.ind to set the
colour.

Another option is to use prcomp function to generate data and fine tune
biplot.

See parameters expand, xlim and ylim for biplot size and points to add
points with different shape, colour and/or size.

Below is example with factoextra

Cheers
Petr

library(factoextra)
library(FactoMineR)
 
  fit <- PCA(temp, quali.sup=c(9,10))
  fviz_pca_biplot(fit, col.ind = temp$coating, repel=T, col.var = 
  "black", palette = "lancet", invisible="quali", pointsize=5, 
  pointshape=temp$size, legend.title = list(col = "Coating", 
  shape="Size"), xlim=c(-6,6), title="Instillation results")
 
  temp <- structure(list(leukocyte28 = c(96875L, 73438L, 68229L, 
  94479L, 76563L, 141667L, 111042L, 93333L, 132083L, 103542L, 61667L, 
  77708L ),
  macrophage28 = c(60.29, 99.13, 97.04, 98.54, 98.46, 75.2, 89.71, 98, 
  82, 98.83, 99.08, 98.54), pmn28 = c(38.58, 0.58, 2.71, 0.92, 1, 
  24.25, 9.29, 1.5, 15.08, 0.92, 0.67, 1), lymphocyte28 = c(1.13, 
  0.29, 0.25, 0.54, 0.54, 0.55, 1, 0.5, 2.92, 0.25, 0.25, 0.46),
      leukocyte3 = c(186042L, 111250L, 114375L, 111146L, 98854L,
      156250L, 250625L, 183125L, 202917L, 161875L, 184792L, 128333L
      ), macrophage3 = c(53.88, 95.96, 98.29, 98.92, 98.92, 78.3,
      82.33, 97.83, 84.79, 97.25, 97.75, 98.46), pmn3 = c(44.75,
      3.46, 1.29, 0.67, 0.71, 20.4, 16.67, 1.92, 14.04, 1.92, 1.67,
      1.21), lymphocyte3 = c(1.38, 0.58, 0.42, 0.42, 0.38, 1.3,
      1, 0.25, 1.17, 0.83, 0.58, 0.33), coating = structure(c(3L,
      3L, 3L, 1L, 7L, 1L, 2L, 5L, 4L, 6L, 3L, 3L), .Label = c("alumina",
      "both", "none", "phosphate", "silica", "tungsten", "zirconia"
      ), class = "factor"), size = structure(c(1L, 1L, 2L, 2L,
      2L, 1L, 2L, 1L, 2L, 1L, 2L, 2L), .Label = c("nano", "pigmentary"
      ), class = "factor")), class = "data.frame", row.names = c(NA,
  12L))





> -----Original Message-----
> From: R-help <r-help-bounces using r-project.org> On Behalf Of Mahmood
> Naderan-Tahan
> Sent: Friday, February 5, 2021 4:45 PM
> To: r-help using r-project.org
> Subject: [R] Customizing plot
> 
> 
> Hi,
> 1- How can I assign different  colors to different observations in the PCA
> chart? Assume, I have 10  observations and I want to use black color for
the
> first 5 and read for  the next 5 observations.
> 
> Currently, I use
> 
>  res.pca = PCA(mydata[,1:37], scale.unit=TRUE, graph=T)
>  plot(res.pca,axes=c(1,2))
> 
> 
> 
> 2- How can I change the plot area size and font sizes? With these commands
> 
>  dev.new(width=20, height=4)
>  plot(res.pca,axes=c(1,2))
> 
>  The final plot is not what I expected. Please see the picture
> at https://imgur.com/UINTnv7
> 
> 
> 
> 
> 
>  Regards,
>  Mahmood
> 
> 
> ______________________________________________
> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-
> guide.html
> and provide commented, minimal, self-contained, reproducible code.


More information about the R-help mailing list