- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在 RStudio 中制作一个 2 面板图。通常足够简单:
par(mfrow=c(1,2)) #1*2 plotting window
scatterplot()
进行绘图时car 包中的函数似乎覆盖了绘图窗口的这种划分。
par(mfrow=c(1,2))
plot(iris$Sepal.Length,iris$Sepal.Width)
plot(iris$Petal.Width,iris$Sepal.Width)
scatterplot()
出于几个原因。但是当我再次尝试相同的格式化技巧时,它不起作用。试试这个块:
library(car)
par(mfrow=c(1,2))
scatterplot(Sepal.Length~Sepal.Width|Species,data=iris,grid="FALSE", boxplots="", reg.line="FALSE",pch=c(0,1,2))
scatterplot(Petal.Width~Sepal.Width|Species,data=iris,grid="FALSE", boxplots="", reg.line="FALSE",pch=c(0,1,2))
m<-rbind(c(1,2))
layout(m)
最佳答案
您可以在 rmarkdown
中输出并排数字使用块参数 fig.show='hold'
的文档.另一种选择是使用 ggplot2
创建绘图,而不是 cars
scatterplot
功能。我在下面展示了这两种方法。
并排 cars::scatterplot
情节在 rmarkdown
文档
下面是一个 PDF 输出示例。 out.width='3in'
设置输出文档中每个绘图的实际大小,而不管 fig.height
和 fig.width
.但是你仍然可以调整fig.height
和 fig.width
调整相对于绘图区域的纵横比和文本大小。
---
title: "Untitled"
author: "eipi10"
date: "November 23, 2016"
output: pdf_document
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```
```{r fig.show='hold', out.width='3in', fig.height=5, fig.width=5}
library(car)
scatterplot(Sepal.Length~Sepal.Width|Species,data=iris,grid="FALSE",
boxplots="", reg.line="FALSE", pch=c(0,1,2))
scatterplot(Petal.Width~Sepal.Width|Species,data=iris,grid="FALSE",
boxplots="", reg.line="FALSE", pch=c(0,1,2))
```
ggplot2
的并排散点图
ggplot2
一起去那么您可以相对轻松地获得两地布局:
library(ggplot2)
library(gridExtra)
theme_set(theme_bw())
grid.arrange(
ggplot(iris, aes(Sepal.Width, Sepal.Length, colour=Species)) +
geom_point() +
geom_smooth(alpha=0.2) +
theme(legend.position="top"),
ggplot(iris, aes(Sepal.Width, Petal.Width, colour=Species)) +
geom_point() +
geom_smooth(alpha=0.2) +
theme(legend.position="top"),
ncol=2)
ggplot2
情节看起来更像
cars::scatterplot
输出
se=FALSE
至
geom_smooth
.如果您希望每个物种的形状不同,请添加
aes(shape=Species)
至
geom_point
.如果你想在基础图形中使用特定的形状,添加
+ scale_shape_manual(values=0:2)
等。您还可以通过一些额外的工作获得单个图例。
# Components we'll reuse for both plots
my_theme = list(geom_point(aes(shape=Species)),
geom_smooth(se=FALSE, show.legend=FALSE, lwd=0.8),
scale_shape_manual(values=0:2),
scale_colour_manual(values=c("black", "red","green")),
theme_bw(),
theme(panel.grid.major=element_blank(),
panel.grid.minor=element_blank(),
legend.position="top"))
p1 = ggplot(iris, aes(Sepal.Width, Sepal.Length, colour=Species)) +
my_theme +
labs(x="Sepal Width", y="Sepal Length") +
scale_y_continuous(limits=c(3,8)) +
scale_x_continuous(limits=c(1,5))
p2 = ggplot(iris, aes(Sepal.Width, Petal.Width, colour=Species)) +
my_theme +
labs(x="Sepal Width", y="Petal Width")
# Function to extract legend
# https://github.com/hadley/ggplot2/wiki/Share-a-legend-between-two-ggplot2-graphs
g_legend<-function(a.gplot){
tmp <- ggplot_gtable(ggplot_build(a.gplot))
leg <- which(sapply(tmp$grobs, function(x) x$name) == "guide-box")
legend <- tmp$grobs[[leg]]
return(legend)}
leg = g_legend(p1)
grid.arrange(leg,
arrangeGrob(grobs=lapply(list(p1,p2), function(p) p + guides(colour=FALSE, shape=FALSE)), ncol=2),
ncol=1, heights=c(1,10))
关于r - Cars 包中的多面板散点图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40771825/
我想做的是让 JTextPane 在 JPanel 中占用尽可能多的空间。对于我使用的 UpdateInfoPanel: public class UpdateInfoPanel extends JP
我在 JPanel 中有一个 JTextArea,我想将其与 JScrollPane 一起使用。我正在使用 GridBagLayout。当我运行它时,框架似乎为 JScrollPane 腾出了空间,但
我想在 xcode 中实现以下功能。 我有一个 View Controller 。在这个 UIViewController 中,我有一个 UITabBar。它们下面是一个 UIView。将 UITab
有谁知道Firebird 2.5有没有类似于SQL中“STUFF”函数的功能? 我有一个包含父用户记录的表,另一个表包含与父相关的子用户记录。我希望能够提取用户拥有的“ROLES”的逗号分隔字符串,而
我想使用 JSON 作为 mirth channel 的输入和输出,例如详细信息保存在数据库中或创建 HL7 消息。 简而言之,输入为 JSON 解析它并输出为任何格式。 最佳答案 var objec
通常我会使用 R 并执行 merge.by,但这个文件似乎太大了,部门中的任何一台计算机都无法处理它! (任何从事遗传学工作的人的附加信息)本质上,插补似乎删除了 snp ID 的 rs 数字,我只剩
我有一个以前可能被问过的问题,但我很难找到正确的描述。我希望有人能帮助我。 在下面的代码中,我设置了varprice,我想添加javascript变量accu_id以通过rails在我的数据库中查找记
我有一个简单的 SVG 文件,在 Firefox 中可以正常查看 - 它的一些包装文本使用 foreignObject 包含一些 HTML - 文本包装在 div 中:
所以我正在为学校编写一个 Ruby 程序,如果某个值是 1 或 3,则将 bool 值更改为 true,如果是 0 或 2,则更改为 false。由于我有 Java 背景,所以我认为这段代码应该有效:
我做了什么: 我在这些账户之间创建了 VPC 对等连接 互联网网关也连接到每个 VPC 还配置了路由表(以允许来自双方的流量) 情况1: 当这两个 VPC 在同一个账户中时,我成功测试了从另一个 La
我有一个名为 contacts 的表: user_id contact_id 10294 10295 10294 10293 10293 10294 102
我正在使用 Magento 中的新模板。为避免重复代码,我想为每个产品预览使用相同的子模板。 特别是我做了这样一个展示: $products = Mage::getModel('catalog/pro
“for”是否总是检查协议(protocol)中定义的每个函数中第一个参数的类型? 编辑(改写): 当协议(protocol)方法只有一个参数时,根据该单个参数的类型(直接或任意)找到实现。当协议(p
我想从我的 PHP 代码中调用 JavaScript 函数。我通过使用以下方法实现了这一点: echo ' drawChart($id); '; 这工作正常,但我想从我的 PHP 代码中获取数据,我使
这个问题已经有答案了: Event binding on dynamically created elements? (23 个回答) 已关闭 5 年前。 我有一个动态表单,我想在其中附加一些其他 h
我正在尝试找到一种解决方案,以在 componentDidMount 中的映射项上使用 setState。 我正在使用 GraphQL连同 Gatsby返回许多 data 项目,但要求在特定的 pat
我在 ScrollView 中有一个 View 。只要用户按住该 View ,我想每 80 毫秒调用一次方法。这是我已经实现的: final Runnable vibrate = new Runnab
我用 jni 开发了一个 android 应用程序。我在 GetStringUTFChars 的 dvmDecodeIndirectRef 中得到了一个 dvmabort。我只中止了一次。 为什么会这
当我到达我的 Activity 时,我调用 FragmentPagerAdapter 来处理我的不同选项卡。在我的一个选项卡中,我想显示一个 RecyclerView,但他从未出现过,有了断点,我看到
当我按下 Activity 中的按钮时,会弹出一个 DialogFragment。在对话框 fragment 中,有一个看起来像普通 ListView 的 RecyclerView。 我想要的行为是当
我是一名优秀的程序员,十分优秀!