我制作了一个散点图,其中x轴为日期,y轴为连续分数。
在某些日期,我想在这些日期绘制月球图像,但图像似乎没有正确绘制在y轴上。
我正在绘制一个296像素宽和高的png,并尝试使用x / y min和max参数来设置高度。
library(ggplot2)
library(dplyr)
rm(list = ls())
startDate <- as.Date("2016-01-01")
endDate <- as.Date("2017-01-01")
testData <- data.frame(dater = seq(startDate, endDate, by = "day"),
score = rnorm(367, 50, 10)
)
imgP <- filter(testData, dater %in% as.Date(c("2016-04-01")))
gTest <- ggplot(testData, aes(x=dater, y=score)) +
geom_point() + scale_y_continuous(breaks = seq(20, 70, 5))
img1 <- readPNG("G:/MHOShare/MHO Staff/James Holland/TempDump/themoon.png")
g1 <- rasterGrob(img1, interpolate=TRUE)
gTest + annotation_custom(g1, xmin = imgP$dater,
xmax = imgP$dater + 10,
ymin = 50,
ymax = 55)
这会生成此图像,但图像的角落似乎不是50或55.它似乎在这两个值之间显示图像。我认为这是因为预计整个区域会填充整个区域,因此它将其居中;但是png应该比那个空间宽得多。
我是否需要使用较小的图像?
答案 0 :(得分:0)
您的代码在我的R 3.4.2上正常运行。这是我使用不同library(ggplot2)
library(dplyr)
library(png)
library(grid)
library(RCurl)
startDate <- as.Date("2016-01-01")
endDate <- as.Date("2017-01-01")
testData <- data.frame(dater = seq(startDate, endDate, by = "day"),
score = rnorm(367, 50, 10)
)
imgP <- filter(testData, dater %in% as.Date(c("2016-04-01")))
gTest <- ggplot(testData, aes(x=dater, y=score)) +
geom_point() + scale_y_continuous(breaks = seq(20, 70, 5))
img1 <- readPNG(getURLContent("http://www.dunakin.com/projects/solarsystem/images/TheMoon.png"))
g1 <- rasterGrob(img1, interpolate=TRUE)
gTest + annotation_custom(g1, xmin = imgP$dater, xmax = imgP$dater + 10, ymin = 50, ymax = 55)
图片的结果:
event.target