在R中为热图添加多个图例

在R中为热图添加多个图例,r,plot,legend,heatmap,R,Plot,Legend,Heatmap,我的问题是,我想将分类变量的图例添加到图表中,但不知何故,当我使用“topright”时,它对我不起作用(参见下图)。基本上我的想法是填补空白区的传奇我的分类变量的一侧的热图。我的代码看起来像 heatmap.3(performance, Colv =NA,RowSideColors=row_annotation,col=my_palette) par(lend = 1) # square line ends for the color legend legend("top

我的问题是,我想将分类变量的图例添加到图表中,但不知何故,当我使用“topright”时,它对我不起作用(参见下图)。基本上我的想法是填补空白区的传奇我的分类变量的一侧的热图。我的代码看起来像

heatmap.3(performance, Colv =NA,RowSideColors=row_annotation,col=my_palette)

par(lend = 1)           # square line ends for the color legend
legend("topright",      # location of the legend on the heatmap plot
       legend = c("category1", "category2", "category3"), # category labels
       col = c("gray", "blue", "black"),  # color key
       lty= 1,             # line style
       lwd = 10            # line width
      )
另外,我想在绘图上添加多个图例,但不知道如何使用x和y指定它们的位置,因为我的绘图中没有坐标

非常感谢你!
解决问题的一个简单方法是在
“topright”
规范的逗号后使用选项
inset=#
(其中#是一个浮点数,后面有一个逗号),这将指示如何相对于图形放置图例

与其指定默认位置
“topright”
,您可能希望尝试以更个性化的方式重新构造代码,即使用x-y轴方法,例如使用:

dev.new(xpos=#,ypos=#)

或者你也可以考虑使用:

legend.position=c(#,#)
尝试这些选项,即使您说您无法访问坐标,这对于R中的图形实用程序来说是罕见的,但很可能是未来对
热图.3
的编辑。您还可以使用名为
locator(1)
的花式R实用程序,用鼠标指向并单击希望查看图例的位置

通常,图例选项的正式定义为:

legend(location, title, legend, ...)
如果您对R中的图例实用程序还有任何疑问,请在R命令行中键入
help(图例)
(例如,在R Studio中,如果您使用该工具)


要解决您关于多个图例的问题,请咨询:

非常感谢您的回复@然而,我仍然很难弄清楚x和y坐标的规格。我试着插入,但没有多大帮助。你能更具体地说明一下这个职位吗?谢谢为了更具体地帮助您,社区需要能够可靠地再现从您在问题中提供的代码生成图形显示的代码。我已经安装了GMD软件包,并在运行代码以激活热图之前放置了
require(“GMD”)
命令。但是,当我运行您的代码的第一行时,我收到一个错误
参数4匹配多个形式参数
请编辑上面问题中的代码,以可靠地再现您生成的图形。您好@xyz927实际上,参数4
col=my_调色板
中的“my_调色板”是我自己生成的,因为我想更改它们的格式默认颜色比例。如果要复制结果,可以删除该参数。再次感谢@不客气。如果您认为用户的答案/评论对您或有类似问题的人有价值或有帮助,请不要忘记对其进行投票。运行
heatmap.3(性能,Colv=NA,RowSideColors=row\u注释)
会产生另一个错误:
未找到对象“性能”