• 主页
  • 课程

    关于课程

    • 课程归档
    • 成为一名讲师
    • 讲师信息
    同等学历教学

    同等学历教学

    免费
    阅读更多
  • 特色
    • 展示
    • 关于我们
    • 问答
  • 事件
  • 个性化
  • 博客
  • 联系
  • 站点资源
    有任何问题吗?
    (00) 123 456 789
    weinfoadmin@weinformatics.cn
    注册登录
    恒诺新知
    • 主页
    • 课程

      关于课程

      • 课程归档
      • 成为一名讲师
      • 讲师信息
      同等学历教学

      同等学历教学

      免费
      阅读更多
    • 特色
      • 展示
      • 关于我们
      • 问答
    • 事件
    • 个性化
    • 博客
    • 联系
    • 站点资源

      R语言

      • 首页
      • 博客
      • R语言
      • 【数据故事】使用ggplot2进行数据可视化

      【数据故事】使用ggplot2进行数据可视化

      • 发布者 weinfoadmin
      • 分类 R语言
      • 日期 2018年4月30日
      测试开头

      笔者邀请您,先思考:

      1 什么是数据可视化?

      2 如何用R语言做数据可视化?

      祝数据人五一劳动节快乐,玩好数据,用好数据。

      为了实现数据可视化,R通过内置图形和强大的软件包(如ggplot2)提供各种方法。 前者帮助创建简单的图形,而后者创建定制的专业图形。 在本文中,我们将尝试学习如何使用ggplot2软件包制作和修改各种图形。

      【数据故事】使用ggplot2进行数据可视化

      • 什么是ggplot2?

      • 为什么ggplot2更好?

      • 数据集

      • 安装和加载包

      • 创建直方图

      • 如何可视化各个组的直方图

      • 创建密度图

      • 如何显示各组的密度图

      • 创建条形图和柱形图

      • 如何添加或修改主标题和轴标签

      • 如何添加数据标签

      • 如何重新排列柱形

      • 通过分类变量显示连续变量的平均值

      • 创建堆积的柱形图

      • 创建BoxPlot

      • 创建点图

      • 修改轴标签并附加标题和副标题

      • 设置主题

      • 更改图例中的颜色比例

      • 更改轴切割点

      • 分面

        • 使用多个变量进行分面

      • 添加文本到点


        什么是ggplot2?

        ggplot2是一个强大且多功能的R软件包,由最知名的R开发人员Hadley Wickham开发,用于生成富有美感的图表。
        ggplot2遵循“图形语法”,它相信的原则是一个图可以分成以下几个基本部分:

        绘图=数据+美学+几何

        • 数据是指数据框(数据集)。

        • 美学表示x和y变量。 它也用于告诉R如何把数据显示在一个图中,例如, 颜色,大小和点的形状等。

        • 几何指的是图形的类型(条形图,直方图,箱形图,线图,密度图,点图等)

        【数据故事】使用ggplot2进行数据可视化

        除上述三部分外,还有其他重要部分的情节 –

        • 分面意味着可以将相同类型的图应用于数据的每个子集。 例如,对于不同的性别,为男性和女性创建2个图表。

        • 注释可以让你添加文字到图。

        • 摘要统计信息允许您在图上添加描述性统计信息。

        • 标度用于控制x和y轴限制


        为什么ggplot2更好?

        • 一个命令就可以创建出色的主题。

        • 它的颜色比通常的图形更漂亮好看。

        • 易于使用多个变量来做数据可视化。

        • 提供一个平台来创建提供过多信息的简单图形。

        下表显示了常用图表以及这些图表中使用的各种重要函数。

        【数据故事】使用ggplot2进行数据可视化

        数据集

        在本文中,我们将使用三个数据集 – R中可用的’iris’,’mpg’和’mtcars’数据集。

        1.“iris”数据集由150个观察值和5个变量组成。 我们有3种花卉:Setosa,Versicolor和Virginica,并为它们的每一个提供了萼片的长度和宽度以及花瓣的长度和宽度。

        2.“mtcars”数据集包括32种汽车的燃料消耗(mpg)和汽车设计和性能的10个方面。 换句话说,我们有32个观察值和11个不同的变量:

        • mpg 英里/每加仑

        • cyl 汽缸数量

        • disp 位移(cu.in.)

        • hp 总马力

        • drat 后桥比率

        • wt 重量(1000磅)

        • qsec 1/4英里的时间

        • vs V / S

        • am 传输(0 =自动,1 =手动)

        • gear 齿轮前进档的数量

        • carb 化油器的数量

        3.’mpg’数据由234个观察值和11个变量组成。

        安装和加载包

        首先,我们需要使用命令install.packages()在R中安装软件包。

        1. #installing package

        2. install.packages("ggplot2")

        3. library(ggplot2)

        安装完成后,我们需要加载软件包,以便我们可以使用ggplot2软件包中提供的功能。 要加载包,请使用library()

        直方图,密度图和箱图用于可视化连续变量。

        创建直方图

        首先我们考虑iris数据来创建直方图和散点图。

        1. # 创建直方图

        2. ggplot(data = iris, mapping = aes(x = Sepal.Length)) +

        3.  geom_histogram()

        【数据故事】使用ggplot2进行数据可视化

        这里我们调用ggplot()函数,第一个参数是要使用的数据集。

        1. aes()即美学,我们定义哪个变量将在x轴上表示; 这里我们考虑’Sepal.Length’

        2. geom_histogram()表示我们想绘制一个直方图。

        要改变直方图中bin的宽度,我们可以在geom_histogram()中使用binwidth

        1. ggplot(data = iris, mapping = aes(x = Sepal.Length)) +

        2.  geom_histogram(binwidth = 1)

        【数据故事】使用ggplot2进行数据可视化

        人们也可以定义想要的箱子数量,这种情况下的箱子宽度将自动调整。

        1. ggplot(data = iris, mapping = aes(x = Sepal.Length)) +

        2.  geom_histogram(color="black", fill="white", bins = 10)

        【数据故事】使用ggplot2进行数据可视化

        使用color =“black”和fill =“white”,我们分别表示边界颜色和箱子的内部颜色。

        如何可视化各个组的直方图

        1. ggplot(data = iris, mapping = aes(x = Sepal.Length, color = Species)) +

        2.  geom_histogram(fill="white", binwidth = 1)

        【数据故事】使用ggplot2进行数据可视化

        创建密度图

        密度图也用于表示连续变量的分布。
        【数据故事】使用ggplot2进行数据可视化
        geom_density()函数用于显示密度图。

        如何显示各组的密度图

        1. ggplot(data = iris, mapping = aes(x = Sepal.Length, color = Species)) +

        2.  geom_density()

        【数据故事】使用ggplot2进行数据可视化

        创建条形图和柱形图

        条形图和柱形图可能是最常见的图表类型。 最好用来比较不同的值。
        现在mpg数据集将用于创建以下图形。

        1. ggplot(mpg, aes(x= class)) + geom_bar()

        在这里,我们试图使用geom_bar()为每个class中的汽车数量创建一个柱形图。
        【数据故事】使用ggplot2进行数据可视化

        使用coord_flip()可以互换x和y轴。

        1. ggplot(data = mpg, mapping = aes(x = class)) +

        2.  geom_bar() +

        3.  coord_flip()

        【数据故事】使用ggplot2进行数据可视化

        如何添加或修改主标题和轴标签

        以下函数可用于添加或更改主标题和轴标签。

        1. ggtitle(“主标题”):在图上添加主标题

        2. xlab(“X轴标签”):更改X轴标签

        3. ylab(“Y轴标签”):更改Y轴标签

        4. labs(title =“主标题”,x =“X轴标签”,y =“Y轴标签”):更改主标题和轴标签

          
          

          【数据故事】使用ggplot2进行数据可视化

        5. p <- ggplot(data = mpg, mapping = aes(x = class)) +

          geom_bar()

          p + labs(

          title = "Number of Cars in each type",

          x = "Type of car",

          y = "Number of cars"

          )

        如何添加数据标签

        1. p <- ggplot(data = mpg, mapping = aes(x = class)) +

        2.  geom_bar()

        3. p <- p + labs(

        4.  title = "Number of Cars in each type",

        5.  x = "Type of car",

        6.  y = "Number of cars"

        7. )

        8. p + geom_text(

        9.  stat = "count",

        10.  aes(label = ..count..),

        11.  vjust = -0.25

        12. )

        geom_text()用于直接向图中添加文本。 vjust是调整bar中数据标签的位置。
        【数据故事】使用ggplot2进行数据可视化

        如何重新排列柱形

        使用stat =“identity”,我们可以使用我们的派生值而不是count。

        1. count(mpg,class) %>%

        2.  arrange(-n) %>%

        3.  mutate(class = factor(class, levels = class)) %>%

        4.  ggplot(aes(x = class, y = n)) +

        5.  geom_bar(stat = "identity")

        上述命令将首先创建该类型汽车的频率分布,然后使用arrange(-n)以降序排列。 然后使用mutate()将’class’列修改为一个具有’class’级别的因子,再使用geom_bar()绘制柱形图。

        【数据故事】使用ggplot2进行数据可视化

        在这里,SUV首先出现,因为它最多数量的汽车。 现在柱子根据频率计数进行排序。

        通过分类变量显示连续变量的平均值

        1. df <- mpg %>% group_by(class) %>%

        2.  summarise(mean = mean(displ)) %>%

        3.  arrange(-mean) %>%

        4.  mutate(class = factor(class, levels = class))

        5. p <- ggplot(data = df, mapping = aes(x = class, y = mean)) +

        6.  geom_bar(stat = "identity")

        7. p + geom_text(

        8.  aes(label = sprintf("%0.2f", round(mean, digits = 2))),

        9.  vjust = 1.6,

        10.  color = "white",

        11.  fontface = "bold",

        12.  size = 4

        13. )

        现在使用dplyr库,我们创建一个新的数据框’df’并尝试绘制它。
        使用group_by我们根据不同类型的汽车对数据进行分组,并总结使我们能够找到每个组的统计数据(这里指的是“displ”变量)。 我们使用geom_text()要添加数据标签(有2位小数)。
        【数据故事】使用ggplot2进行数据可视化

        创建堆积的柱形图

        1. p <- ggplot(

        2.  data = mpg,

        3.  aes(x = class, y = displ, fill = drv)

        4. )

        5. p + geom_bar(stat = "identity")

        【数据故事】使用ggplot2进行数据可视化

        1. p + geom_bar(stat="identity", position=position_dodge())

        【数据故事】使用ggplot2进行数据可视化

        创建BoxPlot

        使用geom_boxplot()可以创建一个boxplot。
        为了创建不同层次的x下变量’disp’的boxplot,我们可以定义aes(x = cyl,y = disp)

        1. mtcars$cyl <- factor(mtcars$cyl)

        2. ggplot(data = mtcars, mapping = aes(x = cyl, y = disp)) +

        3.  geom_boxplot()

        【数据故事】使用ggplot2进行数据可视化

        我们可以看到6个气瓶的一个异常值。
        要创建缺口盒图,我们写入notch = TRUE

        1. ggplot(data = mtcars, mapping = aes(x = cyl, y = disp)) +

        2.  geom_boxplot(notch = TRUE)

        【数据故事】使用ggplot2进行数据可视化

        创建散点图

        散点图用于图形表示两个连续变量之间的关系。

        1. ggplot(data = iris, mapping = aes(x = Sepal.Length, y = Sepal.Width, shape = Species, color = Species)) +

        2.  geom_point()

        我们使用geom_point()绘制点图。 在美学中,我们定义x轴表示萼片长度,y轴表示萼片宽度; shape = Species和color = Species每种特定的花用不同的形状和不同的颜色。

        【数据故事】使用ggplot2进行数据可视化
        散点图使用geom_point()构造

        1. ggplot(

        2.  data = subset(mtcars, am == 0),

        3.  mapping = aes(x = mpg, y = disp, colour = factor(cyl))

        4. ) + geom_point()

        【数据故事】使用ggplot2进行数据可视化
        我们使用subset()函数来选择只有am = 0的汽车; 解释它; 我们只考虑那些自动的汽车。 我们对不同的变气缸采用不同的颜色绘制了disp和mpg的关系图。 此外,factor(cyl)将我们的连续可变气缸转换为一个因子。

        【数据故事】使用ggplot2进行数据可视化

        在上面的命令中,我们尝试绘制里程(mpg)和位移(disp),不同的马力值采用不同的颜色。 geom_smooth()用于确定点呈现何种模式图案。
        以类似的方式,我们可以使用geom_line()在图上绘制另一条线:

        1. ggplot(data = mtcars, aes(x = mpg,y = disp,colour = hp))  + geom_point(size = 2.5) + geom_line(aes(y = hp))

        【数据故事】使用ggplot2进行数据可视化

        在geom_point中,我们添加了一个可选参数size = 2.5,表示点的大小。 geom_line()创建一条线。 请注意,我们没有在geom_line中为x轴提供任何美学,这意味着它仅绘制与里程(mpg)相对应的马力(hp)。

        修改轴标签并附加标题和副标题

        1. ggplot(mtcars,aes(x = mpg,y = disp)) + geom_point() +

        2.  ggtitle(

        3.    label = "Scatter plot",

        4.    subtitle = "mtcars data in R"

        5.  )

        【数据故事】使用ggplot2进行数据可视化

        在这里使用labs(),我们可以改变我们的图例或ggtitle的标题,我们可以为我们的图表分配一些标题。 如果我们想为图表添加一些标题或子标题,我们可以使用ggtitle(),其中第一个参数是我们的“主标题”,第二个参数是我们的副标题。

        1. a <- ggplot(mtcars,aes(x = mpg, y = disp, color = factor(cyl))) + geom_point()

        2. a

        3. #Changing the axis labels.

        4. a + labs(color = "Cylinders")

        5. a + labs(color = "Cylinders") + xlab("Mileage") + ylab("Displacement")

        我们首先将我们的图片保存为’a’,然后我们进行修改。
        请注意,在labs命令中,我们使用color =“Cylinders”来改变图例的标题。
        使用xlab和ylab命令,我们可以分别更改x和y轴标签。 这里我们的x轴标签是’mileage’,y轴标签是’displacement’

        【数据故事】使用ggplot2进行数据可视化

        1. a + labs(color = "Cylinders") +

        2.  xlab("Mileage") +

        3.  ylab("Displacement") +

        4.  ggtitle(label = "Scatter plot", subtitle = "mtcars data in R")

        【数据故事】使用ggplot2进行数据可视化
        在上面的图中,我们可以看到x轴,y轴和图例上的标签已经改变; 标题和副标题已被添加并且点被着色,用以区分cylinders的数量。

        设置主题

        可以在ggplot2中使用主题来更改背景,文本颜色,图例颜色和轴文本。
        首先,我们将图解保存为’b’,从而通过操纵’b’来创建可视化。 请注意,在美学上我们写了mpg,disp,它自动在x轴上绘制mpg并在y轴上绘制disp。

        1. b <- ggplot(mtcars,aes(mpg,disp)) + geom_point()  + labs(title = "Scatter Plot")

        2. b + theme(plot.title = element_text(color = "blue",size = 17),plot.background = element_rect("orange"))

        【数据故事】使用ggplot2进行数据可视化

        我们使用theme()来修改图的标题和背景。plot.title是一个element_text()对象,我们在其中指定了标题的颜色和大小。利用作为element_rect()对象的plot.background,我们可以指定背景的颜色。
        ggplot2()默认提供背景面板设计颜色可以自动更改的主题。其中一些是theme_gray,theme_minimal,theme_dark等。

        1. b + theme_minimal()

        我们可以观察点后面的水平线和垂直线。 如果我们不需要他们呢? 这可以通过以下方式实现:

        1. b + theme(panel.background = element_blank())

        【数据故事】使用ggplot2进行数据可视化

        在没有其他参数的情况下设置panel.background = element_blank()可以从面板中删除这些线条和颜色。

        1. b + theme(axis.text = element_blank())

        2. b + theme(axis.text.x = element_blank())

        3. b + theme(axis.text.y = element_blank())

        要从两个轴上删除文本,我们可以使用axis.text = element_blank()。 如果我们只想从特定轴删除文本,那么我们需要指定它。
        现在我们将我们的图保存到c然后进行更改。

        1. c <- ggplot(mtcars,aes(x = mpg, y = disp, color = hp)) +labs(title = "Scatter Plot") + geom_point()

        2. c +  theme(legend.position = "top")

        如果我们想要移动图例,那么我们可以将legend.position指定为“顶部”或“底部”或“左”或“右”。
        最后,结合我们在主题中了解到的所有内容,我们创建了上面的图例,其中图例位于底部,绘图标题为森林绿色,背景为黄色,并且两个轴都不显示文本。

        1. c + theme(legend.position = "bottom", axis.text = element_blank()) +

        2.  theme(plot.title = element_text(color = "Forest Green",size = 17),plot.background = element_rect("Yellow"))

        【数据故事】使用ggplot2进行数据可视化

        更改图例中的颜色比例

        在ggplot2中,默认情况下色标从深蓝色到浅蓝色。 可能发生的情况是,我们希望通过更改颜色或添加新颜色来创建比例尺。 这可以通过scale_color_gradient函数成功完成。

        1. c + scale_color_gradient(low = "yellow",high = "red")

        假设我们希望颜色从黄色变为红色; 黄色表示最小值,红色表示最高值; 我们设置低=“黄”和高=“红”。 请注意,图例中的比例从0开始,而不是系列的最小值。
        如果我们想要3种颜色怎么办?

        1. c + scale_color_gradient2(low = "red",mid = "green",high = "blue")

        为了达到在图例中使用3种颜色的目的,我们使用scale_color_gradient2,其中low =“red”,mid =“green”和high =“blue”意味着它将整个范围(从0开始) 划分3等份,第一部分被遮蔽为红色,中央部分为绿色,最高部分为蓝色。

        1. c + theme(legend.position = "bottom") + scale_color_gradientn(colours = c("red","forest green","white","blue"))

        如果我们希望超过3种颜色由我们的图例表示,我们可以利用scale_color_gradientn()函数,参数颜色将是一个向量,其中第一个元素表示第一个部分的颜色,第二个颜色表示第二个部分的颜色等。

        更改图例中的中断
        可以看出,连续变量的图例从0开始。
        假设我们希望中断为:50,125,200,275和350,我们使用seq(50,350,75),其中50表示最小数字,350是序列中的最大数字,75是两个连续数字之间的差值。

        1. c + scale_color_continuous(name = "horsepower", breaks = seq(50,350,75), labels = paste(seq(50,350,75),"hp"))

        在scale_color_continuous中,我们将断点设置为所需的序列,如果需要,可以更改标签。 使用粘贴功能,我们的序列后面跟着“hp”和name =“horsepower”,改变了我们图例的名称。

        一起更改图例的断点和颜色比例
        让我们尝试通过反复试验来改变图例中的断点和颜色。

        1. c + scale_color_continuous( breaks = seq(50,350,75)) +

        2.  scale_color_gradient(low = "blue",high = "red")

        我们可以参考以上代码的trial1图像,可以在下面找到。 请注意,色彩比例是根据需要从蓝色变为红色,但中断没有改变。
        【数据故事】使用ggplot2进行数据可视化

        1. #Trial 2: Next one is wrong.

        2. c  +  scale_color_gradient(low = "blue",high = "red") +

        3.  scale_color_continuous( breaks = seq(50,350,75))

        trial2图像是上述代码的输出。 这里的色标没有改变,但是已经创建了中断。
        【数据故事】使用ggplot2进行数据可视化

        发生什么事? 原因在于我们不能为单个图形具有2个scalecolor函数。 如果有多个scale_color函数,那么R会用接收到的最后一个scalecolor命令覆盖其他的scalecolor函数。
        在试用版1中,scale_color_gradient会覆盖之前的scale_color_continuous命令。 类似地,在试验2中,scale_color_continuous覆盖先前的scale_color_gradient命令。

        正确的方法是仅在一个函数中定义参数。

        1. c + scale_color_continuous(name = "horsepower", breaks = seq(50,350,75), low = "red", high = "black") +

        2.  theme(panel.background = element_rect("green"),plot.background = element_rect("orange"))

        【数据故事】使用ggplot2进行数据可视化

        这里low =“red”和high =“black”是在scale_color_continuous函数中定义的break。

        更改轴切割点

        我们将最初的图保存为’d’。

        1. d <- ggplot(mtcars,aes(x = mpg,y = disp)) + geom_point(aes(color = factor(am)))  +

        2.  xlab("Mileage") + ylab("Displacement") +

        3.  theme(panel.background = element_rect("black") , plot.background = element_rect("pink"))

        要改变轴切割点,我们使用scale_(axisname)_continuous。

        1. d +  scale_x_continuous(limits = c(2,4)) + scale_y_continuous(limits = c(15,30))

        要将x轴限制更改为2到4,我们使用scale_x_continuous,而我的“限制”是一个定义轴的上限和下限的向量。 同样,scale_y_continuous将最小截断点设置为15,将y轴的最高截断点设置为30。

        1. d + scale_x_continuous(limits = c(2,4),breaks = seq(2,4,0.25)) + scale_y_continuous(limits = c(15,30),breaks = seq(15,30,3))

        我们还可以添加另一个参数’breaks’,这将需要一个向量来指定轴的所有切点。 这里我们为x轴创建一个2,2.5,3,3.5,4的序列,对于y轴创建一个序列15,18,21,…,30。
        【数据故事】使用ggplot2进行数据可视化

        分面

        分面是用于绘制与特定变量的各种类别对应的数据的图表的技术。 让我们试着通过一个例子来理解它:

        1. unique(mtcars$carb)

        2. ggplot(

        3.  data = mtcars,

        4.  mapping = aes(mpg, disp)

        5. ) + geom_point() +

        6.  facet_wrap(~carb)

        7. ggplot(

        8.  data = mtcars,

        9.  mapping = aes(mpg, disp)

        10. ) + geom_point() +

        11.  facet_wrap("carb")

        facet_wrap函数用于分割(~)后面的符号,我们定义了我们想要分类的变量。
        【数据故事】使用ggplot2进行数据可视化
        我们看到有6类“carb”。 分面在mpg和disp之间创建6个绘图; 点对应于类别。

        1. ggplot(mtcars, aes(mpg, disp)) +  geom_point() +  facet_wrap(~carb,nrow = 3)

        这里额外的参数nrow = 3表示总共所有的图应该调整为3行。

        使用多个变量进行分面

        分面可以完成carb和am的各种组合。

        1. # You can facet by multiple variables

        2. ggplot(mtcars, aes(mpg, disp)) + geom_point() + facet_wrap(~carb + am)

        3. #Alternatively

        4. ggplot(mtcars, aes(mpg, disp)) + geom_point() + facet_wrap(c("carb","am"))

        有6个独特的’carb’值和2个独特的’am’值,因此可能有12种可能的组合,但我们只能得到9个图表,这是因为对于其余3种组合,没有观察。

        1. mtcars$mpg[mtcars$carb == 3 & mtcars$am == 1]

        2. mtcars$mpg[mtcars$carb == 6 & mtcars$am == 0]

        3. mtcars$mpg[mtcars$carb == 8 & mtcars$am == 0]

        当标签没有提供时,特别要掌握carb和am哪些水平可能是令人费解的。 因此我们可以标注这些变量。

        1. ggplot(mtcars, aes(mpg, disp)) +  geom_point() +  facet_wrap(~carb  + am, labeller = "label_both")

        【数据故事】使用ggplot2进行数据可视化

        R提供了facet_grid()函数,可以用来在两个维度上分面。

        1. z <- ggplot(mtcars, aes(mpg, disp)) + geom_point()

        我们将我们的基本图片存储在’z’中,因此我们可以添加:

        1. z + facet_grid(. ~ cyl)   #col

        2. z + facet_grid(cyl ~ .)   #row

        3. z + facet_grid(gear ~ cyl,labeller = "label_both")  #row and col

        【数据故事】使用ggplot2进行数据可视化

        在facet_grid(.〜cyl)中,它将数据按’cyl’分面,而柱面以列表示。 如果我们想要在行中表示’cyl’,我们编写facet_grid(cyl〜.)。 如果我们想根据2个变量来刻画facet_grid(gear〜cyl),其中gear用行表示,’cyl’用列表示。

        使用ggplot2我们可以定义所有点的不同值/标签。 这可以通过使用geom_text()来完成

        1. ggplot(mtcars, aes(x= mpg,y = disp)) + geom_point() +

        2.  geom_text(aes(label = am))

        在geom_text中,我们提供了aes(label = am),它描述了所有点应显示“am”的相应级别。
        在图中可以看出’am’的标签与点重叠。 在某些情况下,当点数很多时可能难以阅读标签。 为了避免这种情况,我们在’ggrepel’包中使用geom_text_repel函数。

        1. if(!require(ggrepel)) {

        2.  install.packages("ggrepel")

        3.  require(ggrepel)

        4. }

        5. ggplot(mtcars, aes(x= mpg,y = disp)) + geom_point() +

        6.  geom_text_repel(aes(label = am))

        我们使用require()函数加载库ggrepel。 如果我们不想让文本重叠,我们使用geom_text_repel()而不是ggplot2的geom_text(),并保留参数aes(label = am)。

        【数据故事】使用ggplot2进行数据可视化

        您有什么见解,请留言。

        点赞和转发文章,添加笔者微信,即刻获取《那些年读过的R语言书籍》的电子书和邀请加入数据人圈子。

        【数据故事】使用ggplot2进行数据可视化


        作者:Deepanshu
        原文链接:https://www.listendata.com/2018/01/data-visualization-in-r-using-ggplot2.html
        翻译:陆勤
        版权声明:作者保留权利,严禁修改,转载请注明原文链接。

        数据人网是数据人学习、交流和分享的平台http://shujuren.org 。专注于从数据中学习到有用知识。
        平台的理念:人人投稿,知识共享;人人分析,洞见驱动;智慧聚合,普惠人人。
        您在数据人网平台,可以1)学习数据知识;2)创建数据博客;3)认识数据朋友;4)寻找数据工作;5)找到其它与数据相关的干货。
        我们努力坚持做原创,聚合和分享优质的省时的数据知识!
        我们都是数据人,数据是有价值的,坚定不移地实现从数据到商业价值的转换!


        点击阅读原文,进入数据人网,获取数据知识。




        公众号推荐:

        区块链传达,专注于分享区块链内容。

        【数据故事】使用ggplot2进行数据可视化

        脚印英语,专注于分享英语口语内容。

        【数据故事】使用ggplot2进行数据可视化




        测试结尾

        请关注“恒诺新知”微信公众号,感谢“R语言“,”数据那些事儿“,”老俊俊的生信笔记“,”冷🈚️思“,“珞珈R”,“生信星球”的支持!

        • 分享:
        作者头像
        weinfoadmin

        上一篇文章

        使用dplyr进行数据操作(30个实例)
        2018年4月30日

        下一篇文章

        【机器学习】R做线性回归
        2018年5月5日

        你可能也喜欢

        3-1665801675
        R语言学习:重读《R数据科学(中文版)》书籍
        28 9月, 2022
        6-1652833487
        经典铁死亡,再出新思路
        16 5月, 2022
        1-1651501980
        R语言学习:阅读《R For Everyone 》(第二版)
        1 5月, 2022

        搜索

        分类

        • R语言
        • TCGA数据挖掘
        • 单细胞RNA-seq测序
        • 在线会议直播预告与回放
        • 数据分析那些事儿分类
        • 未分类
        • 生信星球
        • 老俊俊的生信笔记

        投稿培训

        免费

        alphafold2培训

        免费

        群晖配置培训

        免费

        最新博文

        Nature | 单细胞技术揭示衰老细胞与肌肉再生
        301月2023
        lncRNA和miRNA生信分析系列讲座免费视频课和课件资源包,干货满满
        301月2023
        如何快速批量修改 Git 提交记录中的用户信息
        261月2023
        logo-eduma-the-best-lms-wordpress-theme

        (00) 123 456 789

        weinfoadmin@weinformatics.cn

        恒诺新知

        • 关于我们
        • 博客
        • 联系
        • 成为一名讲师

        链接

        • 课程
        • 事件
        • 展示
        • 问答

        支持

        • 文档
        • 论坛
        • 语言包
        • 发行状态

        推荐

        • iHub汉语代码托管
        • iLAB耗材管理
        • WooCommerce
        • 丁香园论坛

        weinformatics 即 恒诺新知。ICP备案号:粤ICP备19129767号

        • 关于我们
        • 博客
        • 联系
        • 成为一名讲师

        要成为一名讲师吗?

        加入数以千计的演讲者获得100%课时费!

        现在开始

        用你的站点账户登录

        忘记密码?

        还不是会员? 现在注册

        注册新帐户

        已经拥有注册账户? 现在登录

        close
        会员购买 你还没有登录,请先登录
        • ¥99 VIP-1个月
        • ¥199 VIP-半年
        • ¥299 VIP-1年
        在线支付 激活码

        立即支付
        支付宝
        微信支付
        请使用 支付宝 或 微信 扫码支付
        登录
        注册|忘记密码?