相关疑难解决方法(0)

如何在ggplot中使用图像作为一个点?

有没有办法在ggplot2的散点图中使用特定的小图像作为点.理想情况下,我会想要根据变量调整图像大小.

这是一个例子:

library(ggplot2)
p <- ggplot(mtcars, aes(wt, mpg))
p + geom_point(aes(size = qsec, shape = factor(cyl)))
Run Code Online (Sandbox Code Playgroud)

所以我基本上想知道是否有办法提供特定图像作为形状?

r ggplot2 ggproto

37
推荐指数
3
解决办法
1万
查看次数

如何在ggplot2中围绕轴刻度标签创建一个框?

由于几个原因,我试图复制下面显示的怪诞情节.它违反了许多良好的数据可视化规则,因此出于培训目的,我的目标是使用ggplot2和解构它 - 一次删除或修改选择不当的功能.使用底部复制的数据和图表下方的代码,我越来越接近,但一直无法弄清楚如何包含一个值得注意的功能.

问题:有没有办法在三个刻度标签周围重现黑色阴影矩形?(如果是这样,可以直接创建另一个因子变量来识别这三个标签并将其字体更改为白色.)

在此输入图像描述

ggplot(plotpg19, aes(x = risks, y = scores, fill = colors)) +
  geom_bar(stat = "identity", width = 0.6) +
  scale_fill_manual(values = c("grey50", "deepskyblue2", "mediumorchid3", "gold")) +
  geom_text(aes(label = scores), hjust = -0.4, size = 8, face = "bold") +
  coord_flip() +
  theme_bw() + labs(x = NULL, y = NULL) +
  theme(panel.grid.major = element_blank()) +
  guides(fill = FALSE) +
  scale_y_continuous(breaks = seq(0, 100, 20), labels = seq(0, 100, 20), expand = c(0, 0)) +
  theme( …
Run Code Online (Sandbox Code Playgroud)

r ggplot2 axis-labels

17
推荐指数
1
解决办法
879
查看次数

在ggmap中使用图像作为点图标

我正在尝试用一些学校创建一个简单的ggmap.我可以轻松地将学校显示为地图上的点(下面的代码).但是,我想带一个学校图标的图像来代替点.

据我所知,annotation_custom不起作用,因为它需要笛卡尔坐标.插图应该有用,但这会为一所学校带来形象,而不是全部.再次尝试将点角色更改为图像,而不仅仅是添加图像.

我怀疑答案在于grImport,subplot以及可能与geom_point对话的功能.但是,我不知所措.

这是一种图像类型,可以作为一个图标:维基媒体毕业帽

这个问题的答案ggplot2中的刻度标记图像可以很好地添加图像,但是,我想将图像用作点字符,并能够根据属性更改颜色,大小等.

# Load needed packages
# install.packages(c("rgdal", "rgeos", "maptools", "ggmap", "sp", "plyr", "XML",    "grImport"))
library(rgdal) 
library(rgeos)
library(maptools) 
library(ggmap) 
library(sp)
library(plyr)
library(XML) 
library(grImport)

# Define a value for the Seattle Public Schools (SPS) url:
SPSurl <- "http://www.seattleschools.org/modules/cms/pages.phtml? pageid=197023&sessionid=95b8499fc128fde5d7e1335751c73fee&t"

# All of the addresses for SPS, multiple tables: 
SPSaddresses <- readHTMLTable(SPSurl)

# Just elementary schools
SPSelementary <- readHTMLTable(SPSurl, which=3, header=T)

# Just keep the names of the schools and addresses
SPSelementary <- SPSelementary[,c(1,3)] …
Run Code Online (Sandbox Code Playgroud)

r ggmap grimport

6
推荐指数
2
解决办法
1356
查看次数

图像作为轴刻度ggplot

我一直在寻找一种在 ggplot2 中使用 png 图像作为轴刻度的方法,更准确地说是在 我阅读过的ggridges 中,并试图复制这些帖子的答案,但是从那时起,软件包在语法上发生了很大变化发布日期:

使用额外的刻度和标签注释 ggplot 如何在 ggplot2 中使用通过 grImport 导入的图形作为轴刻度标签(使用网格函数)? 图标作为 R 中的 x 轴标签 - ggplot2

我想将 png(或其他类型的)图像添加到刻度标签,而不是标签 virginica、setosa 和 versicolor;

library(ggridges)
library(ggplot2)
ggplot(iris, aes(x = Sepal.Length, y = Species)) + geom_density_ridges()
Run Code Online (Sandbox Code Playgroud)

r ggplot2 ggridges

6
推荐指数
1
解决办法
1337
查看次数

图标作为 R 中的 x 轴标签 - ggplot2

(这是问题Icons as x-axis labels in R的扩展。它寻找ggplot解决方案而不是绘图解决方案。由于ggplot基于grid并且plot基于graphics,方法非常不同)

我想绘制这样的图(来自本文),其中图标(在本例中为小图形)用作刻度标签。

在此处输入图片说明

原始问题的公认答案是:

library(igraph)    
npoints <- 15
y <- rexp(npoints)
x <- seq(npoints)

# reserve some extra space on bottom margin (outer margin)
par(oma=c(3,0,0,0))
plot(y, xlab=NA, xaxt='n',  pch=15, cex=2, col="red")
lines(y, col='red', lwd=2)

# graph numbers 
x = 1:npoints   

# add offset to first graph for centering
x[1] = x[1] + 0.4
x1 = grconvertX(x=x-0.4, from = 'user', to …
Run Code Online (Sandbox Code Playgroud)

r ggplot2

5
推荐指数
1
解决办法
1473
查看次数

标签 统计

r ×5

ggplot2 ×4

axis-labels ×1

ggmap ×1

ggproto ×1

ggridges ×1

grimport ×1