Customizing plot

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Customizing plot

Mahmood Naderan-Tahan
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

        [[alternative HTML version deleted]]

______________________________________________
[hidden email] 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.
Reply | Threaded
Open this post in threaded view
|

Customizing plot

Mahmood Naderan-Tahan

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
 
   
______________________________________________
[hidden email] 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.
Reply | Threaded
Open this post in threaded view
|

Re: Customizing plot

Duncan Murdoch-2
On 05/02/2021 10:44 a.m., Mahmood Naderan-Tahan wrote:

>
> 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

No need to post twice.  You probably didn't get an answer the first time
because it was just an hour ago, and you didn't include "mydata" (or a
suitable subset) in your posting.  For the best chance at getting a
helpful answer, post code that others can run.

Duncan Murdoch

______________________________________________
[hidden email] 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.
Reply | Threaded
Open this post in threaded view
|

Re: Customizing plot

Mahmood Naderan-Tahan

>No need to post twice.  You probably didn't get an answer the first time
>because it was just an hour ago, and you didn't include "mydata" (or a
>suitable subset) in your posting.  For the best chance at getting a
>helpful answer, post code that others can run.



I received a bounce reply with [[alternative HTML version deleted]] and thought it has been rejected...


So, here are the commands I use


> library(FactoMineR)
> mydata <- read.csv('test.csv', header=T,row.names=1)
> head(mydata)
     V1  V2   V3  V4
P1 73.6 0.7 74.6 3.1
P2 75.2 0.7 75.8 2.8
P3  6.5 0.0  7.3 2.5
P4 41.4 0.3 39.2 8.9
P5  5.4 0.1 18.2 1.1
P6 18.8 0.3 30.3 7.3
> res.pca = PCA(mydata[,1:4], scale.unit=TRUE, graph=F)
> plot(res.pca,axes=c(1,2))
> dev.new(width=20, height=4)
> plot(res.pca,axes=c(1,2))


The test data and two plots are available at https://gofile.io/d/Qza0PR
As you can see the second plot is not properly sketched as I want to get a full size chart in the window.

For the colors, I want to use black for the first 3 and red for the next three observations.


Regards,
Mahmood

   
From: Duncan Murdoch <[hidden email]>
Sent: Friday, February 5, 2021 5:01:44 PM
To: Mahmood Naderan-Tahan; [hidden email]
Subject: Re: [R] Customizing plot
   
On 05/02/2021 10:44 a.m., Mahmood Naderan-Tahan wrote:

>
> 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

No need to post twice.  You probably didn't get an answer the first time
because it was just an hour ago, and you didn't include "mydata" (or a
suitable subset) in your posting.  For the best chance at getting a
helpful answer, post code that others can run.

Duncan Murdoch
   
______________________________________________
[hidden email] 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.
Reply | Threaded
Open this post in threaded view
|

Re: Customizing plot

PIKAL Petr
In reply to this post by Mahmood Naderan-Tahan
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 <[hidden email]> On Behalf Of Mahmood
> Naderan-Tahan
> Sent: Friday, February 5, 2021 4:45 PM
> To: [hidden email]
> 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
>
>
> ______________________________________________
> [hidden email] 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.

______________________________________________
[hidden email] 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.