R语言 在ggplot/ggtext中使用自定义图像注解轴标签时出错

h4cxqtbf  于 2022-12-30  发布在  其他
关注(0)|答案(1)|浏览(119)

我试图通过包含自定义图像作为离散x轴的标签来注解绘图。
我已经使用了包ggtext,它将此功能添加到ggplot中,虽然我能够复制ggtext for iris数据库文档中提供的示例,但由于我使用自定义图像,无论是从链接还是从文件中阅读它们,我都无法解决错误。我尝试将图像转换为不同的格式,仍然没有成功。
下面是我的自定义图像示例

labels <- c(
  setosa = "<img src='https://github.com/hcuve/halo_faces/blob/main/ggtextimgs/comp1.JPG'
    width='100' /><br>*I. *",
  virginica = "<img src='https://github.com/hcuve/halo_faces/blob/main/ggtextimgs/comp2.JPG'
    width='100' /><br>*I. *",
  versicolor = "<img src='https://github.com/hcuve/halo_faces/blob/main/ggtextimgs/comp3.JPG'
    width='100' /><br>*I. *"
)

ggplot(iris, aes(Species, Sepal.Width)) +
  geom_boxplot() +
  scale_x_discrete(
    name = NULL,
    labels = labels
  ) +
  theme(
    axis.text.x = element_markdown(color = "black", size = 11)
  )

这将引发以下错误:jpeg::读取JPEG时出错(获取文件(路径),本机= TRUE):JPEG解压缩错误:不是JPEG文件:从0x0a 0x0a开始

nwnhqdif

nwnhqdif1#

当你在Github上复制每张图片的下载按钮的链接时,你会发现链接是不同的,这就是为什么你会得到一个错误。下面是一个带有正确URL的可重复的例子:

labels <- c(
  setosa = "<img src='https://github.com/hcuve/halo_faces/raw/main/ggtextimgs/comp1.png'
    width='100' /><br>*I. *",
  virginica = "<img src='https://github.com/hcuve/halo_faces/raw/main/ggtextimgs/comp2.png'
    width='100' /><br>*I. *",
  versicolor = "<img src='https://github.com/hcuve/halo_faces/raw/main/ggtextimgs/comp3.png'
    width='100' /><br>*I. *"
)

library(ggtext)
library(ggplot2)
ggplot(iris, aes(Species, Sepal.Width)) +
  geom_boxplot() +
  scale_x_discrete(
    name = NULL,
    labels = labels
  ) +
  theme(
    axis.text.x = element_markdown(color = "black", size = 11)
  )

创建于2022年12月27日,使用reprex v2.0.2

相关问题