如何将图表字体做成斜体?(ggplot2和factoextra包)

问题描述 投票:0回答:1

我想用 fviz_pca_ind() 函数,其中每个点的文字都用斜体表示。我设法留下了坐标轴的名称、坐标轴的编号和图例,但是,我找不到替代图形内文字的方法。无论是在ggplot2包中还是在factoextra包中,我都找不到任何这方面的内容。所以希望大家能帮帮我,按照下面的代码和图片来做。

# creating data table
lines <- c(1,2,3,55,56,57,120,121,122,123,124)
df <- iris[lines,]
.rowNamesDF(df, make.names=TRUE) <- rep("specie_name", 15)

# calculating pca
library(FactoMineR)
pca <- PCA(df[,1:4], graph = FALSE)

# Plotting PCA
library(factoextra)
fviz_pca_ind(pca, label = "all", habillage = as.factor(df$Species), mean.point = FALSE) +
  ylim(-2,2) + 
  xlim(-4,4) +
  theme_classic() +
  theme() +
  theme(axis.title.y = element_text(face="italic"),
        axis.title.x = element_text(face="italic"),
        axis.text.x = element_text(face="italic"),
        axis.text.y = element_text(face="italic"),
        legend.text = element_text(face="italic")
        ) +
  ggsave("pca.png", width = 15, height = 10, units = "cm", dpi=300)

enter image description here

r
1个回答
1
投票

在这种特殊情况下,你可以将图层2的字体设置为斜体。

lines <- c(1,2,3,55,56,57,120,121,122,123,124)
df <- iris[lines,]
.rowNamesDF(df, make.names=TRUE) <- rep("specie_name", 15)
library(FactoMineR)
pca <- PCA(df[,1:4], graph = FALSE)
library(factoextra)
pv <- fviz_pca_ind(pca, label = "all", habillage = as.factor(df$Species), 
                   mean.point = FALSE) +
    ylim(-2,2) + 
    xlim(-4,4) +
    theme_classic()+
    theme(text = element_text(face="italic"),
          title = element_text(face="italic"),
          plot.caption=element_text(face="italic"),
          plot.tag=element_text(face="italic")
    )
pv$layers[[2]]$aes_params$fontface <- "italic"
pv

创建于2020-05-05,作者: 重读包 (v0.3.0)

© www.soinside.com 2019 - 2024. All rights reserved.