- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 R
中创建了一个并排图,其中两个图应该使用相同的 y Axis 。然而,左边的图是一个 boxplot
,右边的图是一个 matplot
并且在两个图中我设置了相同的 y Axis 范围 ylim = c(0, YMAX)
。不幸的是,正如您在下面看到的,这些图似乎没有使用相同的布局范围——barplot 将范围恰好放在 Axis 的边缘,而 matplot 在 Axis 的每个边缘都有一个缓冲区。因此,图上的 y Axis 未按预期排列。
#Create layout for plot
LAYOUT <- matrix(c(rep(1, 2), 2:3), nrow = 2, ncol = 2, byrow = TRUE);
layout(LAYOUT, heights = c(0.1, 1));
#Create plot matrix
par(mar = c(0.5, 2.1, 0.5, 2.1), mgp = c(3, 1, 0), las = 0);
plot.new();
text(0.5,0.5, 'Barplot and Violin Plot', cex = 1.2, font = 2);
par(mar = c(5.1, 4.1, 2.1, 2.1), mgp = c(3, 1, 0), las = 0);
#Generate data for plot
x <- 1:100
y <- rchisq(100, df = 40);
#Generate plots
DENS <- density(y);
YMAX <- 1.4*max(y);
barplot(y, names.arg = x, ylim = c(0, YMAX));
matplot(x = cbind(-DENS$y, DENS$y), y = DENS$x,
type = c('l', 'l'), lty = c(1, 1),
col = c('black', 'black'),
xlim = c(-max(DENS$y), max(DENS$y)),
ylim = c(0, YMAX),
xlab = 'Density', ylab = '');
如何调整此图以使 y Axis 对齐? (理想情况下,我希望右侧的绘图将刻度线放在 Axis 的边缘,就像左侧的情况一样。)
最佳答案
user20650的评论解决了我的问题,因此我将冒昧地将其扩展为更大的答案并链接到我找到的有关该问题的一些文档。根据一些lecture notes在基本图形参数上,R
中的某些基本绘图默认在指定的 Axis 范围之外添加 6% 的缓冲区。命令 xasx = 'i'
和 yasx = 'i'
inhibit 这个缓冲区(分别在 x 和 y Axis 上),这样 Axis 限制恰好位于 Axis 的边缘。
将此解决方案应用于当前问题中的 y Axis (我们不将其应用于 x Axis ,因为我们想保留该 Axis 上的缓冲区)给出以下命令和绘图。从图中可以看出,两个图中的 y Axis 现在正确对齐。万岁!
#Create layout for plot
LAYOUT <- matrix(c(rep(1, 2), 2:3), nrow = 2, ncol = 2, byrow = TRUE);
layout(LAYOUT, heights = c(0.1, 1));
#Create plot matrix
par(mar = c(0.5, 2.1, 0.5, 2.1), mgp = c(3, 1, 0), las = 0);
plot.new();
text(0.5,0.5, 'Barplot and Violin Plot', cex = 1.2, font = 2);
par(mar = c(5.1, 4.1, 2.1, 2.1), mgp = c(3, 1, 0), las = 0);
#Generate data for plot
x <- 1:100
y <- rchisq(100, df = 40);
#Generate plots
DENS <- density(y);
YMAX <- 1.4*max(y);
barplot(y, names.arg = x, ylim = c(0, YMAX));
matplot(x = cbind(-DENS$y, DENS$y), y = DENS$x, yaxs = 'i',
type = c('l', 'l'), lty = c(1, 1),
col = c('black', 'black'),
xlim = c(-max(DENS$y), max(DENS$y)),
ylim = c(0, YMAX),
xlab = 'Density', ylab = '');
关于R - 如何在箱线图和 matplot 之间排列 Axis ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63356643/
我正在使用 HighCharts 线图,其中我的 x Axis 数据分布不均匀: [4, 10, 40, 100, 400, 1000, etc.] 目前,x 值均匀放置。我希望 x[5] 和 x[4
这是我使用的程序: library(plotly) mydata = read.csv("data_to_plot.txt") df = as.data.frame(mydata) p % gro
我一直在试图找到2之间的差异,但是要减去这个就没有运气了 The primary diff erence between the two representations is that a quate
给定一个没有 Axis 的图,我想使用 axis 添加一个水平 Axis 。在左侧,您会看到给定的“基线”图,在右侧,您会看到所需的结果: 基线图是使用简单生成的 plot(1, axes = FAL
我正在创建 XYPlot,并且需要反转 y Axis 上的顺序(也就是说,我需要较低的数字来使 Axis 上的数字较高)。如果有任何关于如何做到这一点的提示,我将不胜感激。 最佳答案 我也遇到了和你一
我有一个包含两个系列的图表,每个系列都有自己的yAxis。我需要自动将第二个轴最大值设置为第一个轴最大值的 13.5%。例如,如果第一个轴从 0 到 100,那么我希望第二个轴从 0 到 13.5(无
在 google 图表数据表对象中,我可以使用 datatable.getValue(...) 获取当前选择点值(V 轴/Y 轴)。但是,如果我想从 X 轴获取时间/日期/年份(请参见屏幕截图)。我没
我想知道是否有可能(我知道是)将绘图的 Axis 标签保留在绘图的一侧,将绘图的 Axis 标题保留在另一侧,特别是在离散的 geom_tile() 绘图中,如下所示: 最佳答案 您可以在 scale
我正在尝试制作带有自定义 Axis 标签的箱线图,但我似乎无法向图中添加 x Axis 。 例如: test <- data.frame(year=as.integer(rep(1963:2014,
我正在使用 LightningChartJS 创建图表。单击图例框中的系列描述后,系列消失,但 Axis 保留。是否可以将 Axis 与系列一起隐藏? 我的 Axis 和系列如下:- const ax
我有一个关于如何获取另一个 Axis 服务中已部署的 Axis 服务列表的问题。这是场景。我使用 Tomcat 7.0.14 和 Axis 2-1.5.5 作为部署环境。假设目前 Tomcat 上部署
我目前正在尝试使用包含两个 y Axis (一个在左边,一个在右边)的 AChartEngine 创建一个图表。然而,我似乎无法弄清楚如何才能真正添加第二个 y Axis 。一个 XYMultip
我正在使用 Core Plot 库在 iOS 上绘制图形。我想在 yAxis 的网格线之间添加颜色。我已经设法通过设置轴的 alternatingBandFills 属性来做到这一点。但是,我也必须在
我想知道是否有办法改变 x 轴刻度和 y 轴刻度背景的背景颜色以及字体颜色。 例如在 example in this link ,您可以看到代码的 x 轴(0,2,4,5..)和 y 轴(12,10,
我部署在 Weblogic 集群上的 Java 应用程序调用了如下两个 Web 服务。 • 它通过 HTTPS 向互联网上的外部应用程序发送 SOAP 客户端请求。(通过 Axis 1.4 创建的 J
我正在尝试为 x 和 y 设置 Axis ,但每次尝试时,热图都会缩小到绘图的一角。我试试 plt.xlim(0, 60) plt.ylim(0, 30) 我也试过: ax.set_ylim(0, 3
使用 DC js,尝试将 rowChart 设置为固定 X Axis 为 0-100。但是将其绘制为一条线? 我设置了 .elasticX(false) 并且看起来像上面那样。设置为 true 看起来
我有一些法语等级的学生成绩数据(双值,范围从 0 到 20)。 目前,在允许将日期作为 X 轴的散点图(用线连接点)上,我的 Y 轴上的成绩是双倍的,而 X 轴上是一系列学期结束日期。 使用以下间隔映
我正在尝试制作一个极坐标“sypder”图,但我在 Axis 标签方面遇到了一些问题。 xaxis 刻度标签似乎总是在 y Axis 网格下方的层上结束(字母被网格线覆盖,如下图所示),我希望它们在顶
我正在尝试使用ggplot2包绘制以下图形,但是以某种方式不会显示轴。刻度线在那里,而不仅仅是轴线。我使用了theme(axis.line=element_line())函数,但无法正常工作。 这是我
我是一名优秀的程序员,十分优秀!