Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >创建具有不同变量指示的填充和轮廓颜色的柱状图/柱状图

创建具有不同变量指示的填充和轮廓颜色的柱状图/柱状图
EN

Stack Overflow用户
提问于 2017-11-08 04:51:05
回答 1查看 1.1K关注 0票数 0

我正在尝试在ggplot中创建一个图表,如下所示:

...in,框的颜色由一个变量表示,框的轮廓由另一个变量表示。

假设数据的结构如下:

代码语言:javascript
运行
AI代码解释
复制
df<-data.frame(index=1:50,date=sample(seq(as.Date('1999/01/01'), as.Date('1999/06/01'), by="day"), 50,replace=T),
           V1=sample(c("Indigenous","Import-related","Imported","Unknown"), 50,replace=T),
           V2=sample(c(NA,"Zombie","Pulmonary Hemorrhage"), 50,replace=T))

我所能想到的就是这样:

代码语言:javascript
运行
AI代码解释
复制
require(ggplot2)
#draw the histogram with fill determined by V1
p<-ggplot(data=df)+geom_histogram(aes(x=date,group=V1,fill=V1),binwidth=7,color="black",alpha=0.9)
#draw the individual boxes for each case
p1<-p+scale_fill_discrete()+geom_histogram(aes(x=date,group=index),binwidth=7,color="black",alpha=0)
#attempt to draw green boxes for one value of V2
p2<-p1+geom_histogram(aes(x=date,group=V2=="Zombie"),binwidth=7,color="green",alpha=0,size=1.2)
#attempt to draw orange boxes for the other value of V2
p3<-p2+geom_histogram(aes(x=date,group=V2=="Pulmonary Hemorrhage"),binwidth=7,color="orange",alpha=0,size=1.2)

然而,这并不起作用,因为它在所有地方都绘制了边界,并且我不能使用这种方法隔离单个案例,正如您所看到的。

有一个ggplot解决方案吗?如果我不能做彩色方框,我可以通过适当的方框上的某种文本注释来指示V2,但随后必须计算每个标签的x和y,这也给了我很好的适应能力。

EN

回答 1

Stack Overflow用户

发布于 2017-11-08 06:10:55

我们可以这样试一试

代码语言:javascript
运行
AI代码解释
复制
df<-data.table(index=1:50,date=sample(seq(as.Date('1999/01/01'), as.Date('1999/06/01'), by="day"), 50,replace=T),
               V1=sample(c("Indigenous","Import-related","Imported","Unknown"), 50,replace=T),
               V2=sample(c(NA,"Zombie","Pulmonary Hemorrhage"), 50,replace=T))

df <- df[,.(count=.N), by = .(date,V1,V2)]

windows()
ggplot(data = df, aes(x = date, y = count, color = V2, fill = V1)) +
  geom_bar(stat = "identity", position = "stack", width = 2, size = 1) + 
  scale_fill_manual(values=c("red4", "blue4", "green4", "blue")) + 
  scale_color_manual(values=c("orange", "green", "black")) +
  scale_y_continuous(breaks = seq(1,3,1))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47171812

复制
相关文章
Swift基础 继承
翻译自:https://docs.swift.org/swift-book/LanguageGuide/Inheritance.html
郭顺发
2023/07/17
1180
Swift2.1-继承继承
一个类可以从另一个类继承方法,属性和其他的特性。当一个类从另一个类继承的时候,继承类被称为子类,这个类继承的类被称为父类。在Swift中,继承是基本的,从Swift中的其他类型来区分类的一种行为。
hrscy
2018/08/30
4620
Swift专题讲解十四——继承 原
        Swift中,一个类可以从另一个类继承方法、属性、下标及其他特性。当一个类继承于另一个类时,这个类被称为子类,所继承的类被称为父类。在Swift中,继承是类区别于其他类型的主要特征。子类除了可以调用父类的属性,下标,方法外,其也可以对父类的属性,下标,方法进行覆写。
珲少
2018/08/15
2870
Jekyll-Admin-Mac 开发纪要-左侧菜单栏
本文章文字大约 4500字,大概花费 10分钟阅读。本文章设计的图片比较多,流量党慎入!。
君赏
2018/08/31
2.1K2
Jekyll-Admin-Mac 开发纪要-左侧菜单栏
泛型的继承和通配符,同时归纳集合部分的面试点
    在定义泛型时,我们可以通过extends来限定泛型类型的上限,也可以通过super来限定下限,这两个限定字一般会和?等关键字搭配使用。     比如有这样的代码List<? super Fat
用户1153489
2018/01/12
8810
怎么让继承的类直接使用XIB的布局试图
最近做的一个小工具,一键替换key,就是为了解放双手,不然每次运行测试和正式的版本都要手动的替换key。
君赏
2018/08/31
1.1K0
怎么让继承的类直接使用XIB的布局试图
Swift的属性,方法,下标脚本以及继承
从这篇章节起,Swift编程语言指南大部分的重要内容在于概念,代码并非太多。理解Swift的面向对象理念,语法以及类结构,构造析构过程对于非常好的应用Swift语言将会有比較大的帮助。
全栈程序员站长
2022/07/14
8880
Swift的属性,方法,下标脚本以及继承
Mac开发跬步积累(二):NSViewController 转场动画精耕细作
在macOS 10.10之后,关于NSViewController,苹果公司专门在一个extension中提供了四个方法用来处理控制器之间的关系以及切换转场处理.
代码行者
2018/08/23
2.8K0
Mac开发跬步积累(二):NSViewController 转场动画精耕细作
Mac OS开发系列之NSImageView
最近研究下Mac开发的一些技巧,有兴趣的朋友关注我就对了! 争取在工作之余把Mac开发给拿下! //初始化NSImageView并设置它的大小 NSImageView *imgView = [[NSImageView alloc]initWithFrame:CGRectMake(self.view.frame.size.width/2-35, 100, 70, 70)]; //给图片赋值和iOS开发是一样的 imgView.image = [NSImage imageNamed:@"1"]; [self
Bison
2018/06/28
9290
Swift vs. Kotlin 漫谈系列之类与继承
Kotlin 君和 Swift 君在一个团队一起开发已经很久了,由于平台的差异性,他们经常会进行一些技术上的交流(PK),《Kotlin vs. Swift漫谈》系列就是他们在互相切磋是的语录。内容会
用户1907613
2018/07/20
3.7K0
窥探Swift之类的继承与类的访问权限
  上一篇博客《窥探Swift之别具一格的Struct和Class》的博客可谓是给Swift中的类开了个头。关于类的内容还有很多,今天就来搞一下类中的继承以及类的访问权限。说到类的继承,接触过面向对象编程(OOP)的小伙伴并不陌生,继承就是OOP编程中几大特征之一,所以还是有必要把类的继承拎出来聊聊的。说到访问权限,这个在OOP编程中也是不可或缺的。如果你接触过其他OOP的语言,你应该对private, public, protected并不陌生。在Swift这么面向对象的编程语言中,也有类似的概念,不过其
lizelu
2018/01/11
1.5K0
窥探Swift之类的继承与类的访问权限
继承和多态
刚才我们提到了,可以在已有类的基础上创建新类,这其中的一种做法就是让一个类从另一个类那里将属性和方法直接继承下来,从而减少重复代码的编写。提供继承信息的我们称之为父类,也叫超类或基类;得到继承信息的我们称之为子类,也叫派生类或衍生类。子类除了继承父类提供的属性和方法,还可以定义自己特有的属性和方法,所以子类比父类拥有的更多的能力,在实际开发中,我们经常会用子类对象去替换掉一个父类对象,这是面向对象编程中一个常见的行为,对应的原则称之为里氏替换原则。下面我们先看一个继承的例子。
用户8442333
2021/05/19
4280
[Maven进阶]聚合和继承
我们的项目已经从以前的单模块,变成了现在的多模块开发。项目一旦变成了多模块开发以后,就会引发一些问题,在这一节中我们会介绍两个内容聚合和继承,用这两个知识来解决下分模块后的一些问题。
十八岁讨厌编程
2022/12/10
7870
Swift和OC互调(一)Swift调用OCOC调用Swift
整理之前学习swift的笔记,虽然现在看起来很简单,但还是想分享出来。 (一)Swift调用OC 假设:我们的项目是Swift的。项目中用到了OC写的一些类。那么怎么让Swift调用OC类呢?如下图:
VV木公子
2018/06/05
13.6K0
JS原型继承和类式继承
类式继承(构造函数) JS中其实是没有类的概念的,所谓的类也是模拟出来的。特别是当我们是用new 关键字的时候,就使得“类”的概念就越像其他语言中的类了。类式继承是在函数对象内调用父类的构造函数,使得自身获得父类的方法和属性。call和apply方法为类式继承提供了支持。通过改变this的作用环境,使得子类本身具有父类的各种属性。 var father = function() { this.age = 52; this.say = function() { alert('hello
庞小明
2018/03/07
3.5K0
JS原型继承和类式继承
继承和多态
这里继承和多态的概念与java的概念差不多。概念还是需要多次理解才能透彻。感觉类和实例的概念还是不能深刻理解。再次复习下吧。
一点儿也不潇洒
2018/08/02
3690
Swift之 ? 和 !
Swift语言使用var定义变量,但和别的语言不同,Swift里不会自动给变量赋初始值,也就是说变量不会有默认值,所以要求使用变量之前必须要对其初始化。如果在使用变量之前不进行初始化就会报错:
JoeyBlue
2021/09/07
5120
Swift中? 、! 和 ??
Swift中是可以声明一个没有初始值的属性, Swift中引入了可选类型(Optional)来解决这一问题。它的定义是通过在类型声明后加一个 ? 操作符完成的。 例如: var name: Stri
赵哥窟
2020/08/17
1.6K0
继承和多态
在OOP程序设计中,当定义一个class的时候,可从某个现有的class继承 新的class称为子类(Subclass),而被继承的class称为基类、父类或超类(Base class、Super class) 格式:
py3study
2020/01/15
3960
原型式继承和类式继承
Java和JavaScript都是面向对象的语言,但二者的继承方式截然不同。前者采用类式继承(classical inheritence),也是大多数面向对象语言的继承方式。而后者采用原型式继承(prototype ineritence),因此称JavaScript为基于对象更加合适。
Chor
2019/11/07
1.5K0

相似问题

Swift NSViewController

23

使用错误Swift创建NSViewController

10

Swift和继承

20

NSImageView和NSUndoManager

10

NSViewController和绑定

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文