代码之家  ›  专栏  ›  技术社区  ›  user2123601

无法标记点图中的点

  •  2
  • user2123601  · 技术社区  · 12 年前

    我有一些多元数据。

    我想为这些数据绘制一个点图,所以我编写了以下代码:。

    a.data <- read.table("C:/Users/OGR001/Documents/veri2.csv", sep=",", header=TRUE)
    library(lattice)
    library(latticeExtra)
    
    
    useOuterStrips(dotplot(reliability ~ factor(madde.sayisi) |  
                                        as.factor(orneklem)*as.factor(yontem),
                           groups=as.factor(formul),  
                           data=a.data, as.table=TRUE, 
                           horizontal=FALSE, 
                           jitter.x=TRUE))
    

    点图还可以,但我想在这里命名点。

    我该怎么做?

    3 回复  |  直到 11 年前
        1
  •  1
  •   agstudy    12 年前

    如果没有一个可复制的例子,真的很难帮助你!我之所以回答,只是因为自定义格点图的面板有点困难。基本上您需要添加这一行:

                panel=function(x,y,...){
                     panel.dotplot(x,y,...)
                     labs <- dat[list(...)$subscripts,]$labs ## labs is your factor column!
                     panel.text(x,y,labs,adj=c(1.2,0.5))
                   }))
    

    例如,此处使用 barley 从晶格封装中取出。

    dat <- barley
    dat$labs <- sample(c('SB','R','F'),nrow(dat),rep=T)
    
    useOuterStrips(dotplot(variety ~ yield | site*year, 
                           data = dat,
                           groups = year,
                           horizontal=TRUE, 
                           jitter.x=TRUE,  ylab=NULL,
                   panel=function(x,y,...){
                     panel.dotplot(x,y,...)
                     labs <- dat[list(...)$subscripts,]$labs
                     panel.text(x,y,labs,adj=c(1.2,0.5))
                   }))
    

    enter image description here

        2
  •  1
  •   iantist    12 年前

    汽车包装可以很容易地在散点图中标记点。我们可以使用虹膜数据集进行说明。

    library(car)
    scatterplot(Sepal.Length ~ Sepal.Width, data=iris,labels=iris$Species,id.method=T)
    

    enter image description here

        3
  •  0
  •   Carl Witthoft    12 年前

    编辑:agstudy是正确的,你不能在晶格窗口上使用基础图形。幸运的是,有一个 ltext 做基本相同事情的命令,所以使用 lt文本 以下面描述的基本图形的方式 text .

    不知道什么是最简单的,但是 base::text 当然可以做到。我假设您可以使用数据帧中的因子或列来选择 sb , r f 单独设置坐标。因此:

    text(sb_x_coords, sb_y_coords, labels='sb',...)
    

    在那里你可以修改字体大小、颜色等。 对其他两个类别重复此操作。