当前位置:  开发笔记 > 编程语言 > 正文

当您无法提供色彩美感时,手动创建图例

如何解决《当您无法提供色彩美感时,手动创建图例》经验,为你挑选了0个好方法。

在试图回答这个问题,以创建所希望的描绘一个方法是使用geom_dotplot来自ggplot2如下:

library(ggplot2)
library(reshape2)

CTscores <- read.csv(text="initials,total,interest,slides,presentation
CU,1.6,1.7,1.5,1.6
DS,1.6,1.7,1.5,1.7
VA,1.7,1.5,1.5,2.1
MB,2.3,2.0,2.1,2.9
HS,1.2,1.3,1.4,1.0
LS,1.8,1.8,1.5,2.0")

CTscores.m = melt(CTscores, id.var="initials")

ggplot(CTscores.m, aes(x=variable, y=value)) +
  geom_dotplot(binaxis="y", stackdir="up",binwidth=0.03) +
  theme_bw()+coord_flip()

在此输入图像描述

为了区分这些点,只需添加颜色,但geom_dotplot颜色上的扼流圈并不会最终堆叠它们会很方便:

ggplot(CTscores.m, aes(x=variable, y=value, fill=initials)) +
  geom_dotplot(binaxis="y", stackdir="up",binwidth=0.03,color=NA) +
  theme_bw()+coord_flip()

在此输入图像描述

但是,可以使用hack手动添加颜色:

gg_color_hue <- function(n) {
  hues = seq(15, 375, length=n+1)
  hcl(h=hues, l=65, c=100)[1:n]
}

cols <- rep(gg_color_hue(6),4)

ggplot(CTscores.m, aes(x=variable, y=value)) +
  geom_dotplot(binaxis="y", stackdir="up",binwidth=0.03,fill=cols,color=NA) +
  theme_bw()+coord_flip()

在此输入图像描述

不幸的是,没有传说.最重要的是,我们不能aes(fill=)尝试手动添加图例,因为它会折叠点.有没有办法在不使用的情况下添加图例aes()

推荐阅读
黄晓敏3023
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有