gpt4 book ai didi

R:如何使用 direct.label 标记特定轮廓

转载 作者:行者123 更新时间:2023-12-02 01:57:07 25 4
gpt4 key购买 nike

我对 ggplot2 比较陌生,并且在向轮廓添加适当的标签时遇到问题。

使用经典的火山示例,我可以向默认等高线图添加标签:

library(plyr)
library(ggplot2)
library(directlabels)
library(reshape)
volcano<-melt(volcano)
v<-ggplot(volcano, aes(x,y,z=z))
e<-v + stat_contour(aes(colour=..level..))
direct.label(e)

在上面的示例中,适本地添加了标签,但如果我尝试为轮廓指定自己的断点,事情会变得更加复杂:

e<-v + stat_contour(aes(breaks=c(160, 170, 180), colour=..level..))
direct.label(e)

现在,轮廓由我提供的中断指定,但所有默认轮廓仍然显示标签。如何仅绘制图形轮廓的标签?

一个相关问题,如何绘制默认值中未包含的等高线级别的标签?说一下 165 的休息:

e<-v + stat_contour(aes(breaks=c(165), colour=..level..))
direct.label(e)

感谢您的帮助!

最佳答案

我无法忍受看到一个老问题没有通过如此简单的修复得到解答。

简单的问题是 stat_contour() 内部的映射。您的电话应该是:

v<-ggplot(volcano, aes(x=X1,y=X2,z=value))  # specify the mapping properly
e<-v + stat_contour(aes(colour=..level..), breaks=c(160, 170, 180))
direct.label(e)

aes 映射中不包含中断,但包含 colour=..level..

enter image description here

关于R:如何使用 direct.label 标记特定轮廓,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10675387/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com