I have used this piece of script to draw the PCA based on eigenvalue and eigenvector

    percentage <- round((eigenval/(sum(eigenval))*100), 2)
    percentage <- as.matrix(percentage)
    percentage <- paste0(names(percentage), " (", percentage, "%)")
    Names <- c ("mn27hd", "mdkk987", "mnsdnu83", "sjednu83", "bjeo972s")
    pop.colour <- c("blue", "red", "green", "orange", "brown")
    ggplot(eigenvec, aes(x=PC1, y=PC2, colour=pop.colour, label=Names)) +
        geom_point(size=3) + geom_text(aes(label=Names), hjust=0, vjust=-0.5) + xlab(percentage[1]) + ylab(percentage[2])

![enter image description here][1]


  [1]: /media/images/c26677bb-7e25-433a-a8d7-eb7b43ad

how can I:

1. change the xlab and ylab names to show as: PC1 (36.61%), PC2 (33.7%)?

2. move only the pink label slightly left-side cause when I do it generally then the two left labels go outside the image or too close to the edge?

3. change the legend name and categories from the colour to the population name?
I like to use `labs` instead of `xlab` and `ylab` and add the information to the data.frame directly. Do you only have 4 data point and you are certain that the name are corresponding to the correct PC value? If so do
```
percentage <- round((eigenval/(sum(eigenval))*100), 2)
percentage <- as.matrix(percentage)
percentage <- paste0(names(percentage), " (", percentage, "%)")
eigenvec$Pop <- c ("mn27hd", "mdkk987", "mnsdnu83", "sjednu83", "bjeo972s")

pop.colour <- c("blue", "red", "green", "orange", "brown")
ggplot(eigenvec, aes(x=PC1, y=PC2, colour=Pop, label=Pop)) +
    geom_point(size=3) + geom_text(hjust=-0.1, vjust=-0.5) +
    scale_color_manual(values = pop.colour) + 
    labs(x=paste0("PC1 (",percentage[1],")"), y= paste0("PC2 (",percentage[2], ")"), color = "Population")

```

I don't know have mock data to play with so there might be bug to the code. You can modify `hjust` in `geom_text`  to adjust the horizontal shift