标签: lattice

在r,ggplot2,lattice或latticeExtra中创建更连续的调色板

警告......非常新手问题如下:

我试图绘制几个(X,Y)点的相当规则的分布,每个点与一个值相关联,让我们调用Z,它在-20到+20之间变化非常不规则.我对平滑感兴趣; 我想要点Z值根据平滑变化的调色板绘制,就像Gnuplot可以使用适当的平滑调色板一样.我已经尝试过基础R,ggplot2和latticeExtra,尽我所能,我可以提出以下几乎可以做到的事情:

library(lattice)
library(latticeExtra)
library(colorRamps)
df = read.table(file"whatever", header=T)
levelplot(Z~X*Y, df, panel=panel.levelplot.points, cex=0.2,
   col.regions=colorRampPalette(c("red","white","blue"))(50))
Run Code Online (Sandbox Code Playgroud)

一个数据点如下:1302525 225167 -3.5

当我用最后一个代码行中的"50"绘制我的数据帧为3时,我得到红色,白色和蓝色的可预测的R再循环行为,重复五次,第16个颜色条段为白色.将3更改为7会导致更多的红色和蓝色阴影创建2个重复颜色范围段,并在颜色范围尝试回收时留下两个微红色.这表明使这个数字更大可以使颜色更精细.但如果我输入一个大于16的数字,那就是我得到的16个彩色片段,从红色到白色均匀变换为蓝色.但是我希望色标更精细,并且在完美的世界中,将Z的零强制为白色.

到目前为止我对R的经验是,当我不能做到这么简单的事情时,我错过了一个非常基本的概念.它是什么?

plot r colors ggplot2 lattice

7
推荐指数
3
解决办法
1万
查看次数

可以在lattice和ggplot2图中使用polygon()或等效的吗?

是否可以使用库中创建的元素(或使用类似函数创建的元素)来注释lattice(或ggplot2)图形?polygon()graphics

除了在网上发布并在Deepayan Sarkar的书中印刷的简单图表的示例之外,我对这两个图书馆都不太熟悉.因此,虽然我有代码用于我在R中使用graphics库进行的操作,但我lattice还是ggplot2会特别感谢相关的,等效的函数和用法示例.谢谢.

plot r polygon ggplot2 lattice

7
推荐指数
2
解决办法
1821
查看次数

如何使用晶格将更新的线条颜色合并到R中的图形的图例中?

背景和问题:

我想在R中的格子图中添加一个图例,显示两组的密度.我已将默认颜色更改为黑色和灰色.但是,图例没有更新颜色.

  • 如何让格子图在图例中使用我更新的颜色?
  • 如何控制图例的位置(我希望能够将其放置在绘图区域内)?

工作范例:

set.seed(4444)
x1 <- rep("Group A", 50)
x2 <- rep("Group B", 50)
y1 <- rnorm(50, 0, 2)
y2 <- rnorm(50, 1, 2)
dtf <- data.frame(x=c(x1, x2), y =c(y1, y2))

print(densityplot(~y, groups=x, data=dtf,
    pch=".",
    cex=2,
    col=c("black", "gray"),
    auto.key=TRUE,
    xlab="Y"))
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

r lattice

7
推荐指数
2
解决办法
1723
查看次数

对称的小提琴情节直方图?

如何制作直方图,其中每个条的中心位于公共轴上?这看起来像一个阶梯形边缘的小提琴情节.

我想在莱迪思这样做,并不介意自定义面板功能等,但很乐意使用基本R图形甚至ggplot2.(我还没有把自己投入到ggplot2中,但是会在某些时候采取行动.)

(为什么我要这样做?我认为当数据是离散的并且以几个[5-50]均匀间隔的数值出现时,它可能是一个有用的替代小提琴图.每个bin然后代表一个点.当然我可以生成一个正常的直方图.但我认为有时显示盒须图和小提琴图是有用的.对于定期间隔的离散数据,具有与boxplot相同方向的对称直方图可以进行比较用箱形图绘制数据的详细结构,就像小提琴情节一样.在这种情况下,对称直方图可能比小提琴情节更具信息性.(豆图可能是我刚才描述的另一种选择,尽管事实上我的数据不是字面上离散的 - 它只是收敛到一系列常规值附近.这使得R的beanplot包对我来说没用,除非我通过将它们映射到最接近的常规值来规范化值.))

以下是一些数据的30个观察子集,它是由基于代理的模拟生成的:

df30 <- data.frame(crime.v=c(0.2069526, 0.2063516, 0.06919754,
0.2080366, -0.06975912, 0.206277, 0.3457634, 0.2058985, 0.3428499,
0.3428159, 0.06746109, -0.07068694, 0.4826098, -0.06910966, 0.06769761,
0.2098732, 0.3482267, 0.3483602, 0.4829777, 0.06844112, 0.2093492,
0.4845478, 0.2093505, 0.3482845, 0.3459249, 0.2106339, 0.2098397,
0.4844956, 0.2108985, 0.2107984), bias=c("beast", "beast", "beast",
"beast", "beast", "beast", "beast", "beast", "beast", "beast", "beast",
"beast", "beast", "beast", "beast", "virus", "virus", "virus", "virus",
"virus", "virus", "virus", "virus", "virus", "virus", "virus", "virus",
"virus", "virus", "virus"))
Run Code Online (Sandbox Code Playgroud)

df可以从此链接下载以Rdata文件中的完整600个观察值命名的数据框:CVexample.rdata.

这些crime.v值都接近以下之一,我称之为焦点:

[1] -0.89115386 -0.75346155 -0.61576924 -0.47807693 …
Run Code Online (Sandbox Code Playgroud)

r lattice

7
推荐指数
2
解决办法
1759
查看次数

格子,仅在连接具有正斜率时才连接点

只有在连接具有正斜率时,才能以一种舒适的方式连接点?(否则该函数的行为应与xyplot(...)完全相同)

library(lattice)

dat <- data.frame(x=1:10,y=sample(1:10))

xyplot(y ~ x, data=dat,
       panel = function(x, y,...) { 
         panel.xyplot(x, y, type="o",...)
       }
)
Run Code Online (Sandbox Code Playgroud)

所以结果应该像这样的情节,但没有交叉线:

在此输入图像描述

谢谢Christof

plot r lattice

7
推荐指数
1
解决办法
281
查看次数

结合由R base,lattice和ggplot2创建的图

我知道如何组合R图形创建的图.做一些像

attach(mtcars)
par(mfrow = c(3,1)) 
hist(wt)
hist(mpg)
hist(disp)
Run Code Online (Sandbox Code Playgroud)

但是,现在我有三个不同的图形系统

# 1
attach(mtcars)
boxplot(mpg~cyl,
        xlab = "Number of Cylinders",
        ylab = "Miles per Gallon")
detach(mtcars)

# 2
library(lattice)
attach(mtcars)
bwplot(~mpg | cyl,
       xlab = "Number of Cylinders",
       ylab = "Miles per Gallon")
detach(mtcars)

# 3
library(ggplot2)
mtcars$cyl <- as.factor(mtcars$cyl)
qplot(cyl, mpg, data = mtcars, geom = ("boxplot"),
      xlab = "Number of Cylinders",
      ylab = "Miles per Gallon")
Run Code Online (Sandbox Code Playgroud)

par方法不再起作用.我该如何组合它们?

graphics plot r ggplot2 lattice

7
推荐指数
1
解决办法
701
查看次数

将错误栏添加到具有多个组的条形图

我有以下条形图,我想添加错误栏.

library(lattice)    
barchart(Change~fTreat,groups=Process,change,
          auto.key=list(points=FALSE,rectangles=TRUE),
          panel=function(x, y,...){
            panel.barchart(x,y,origin = 0,...);
            panel.abline(h=0,col="black",...);
            }
          )
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我已经尝试使用memisc包中的panel.errbars,它对xyplots非常有用,但是当我将它添加到我的代码时它不尊重这些组.

library(memisc)    
barchart(cbind(Change,lower,upper)~fTreat,groups=Process,change,
     ylab="Pocertage change",
     ylim=-115:50,
     scales=list(alternating=FALSE,
                 tick.number=7,
                 tck=c(-1,0)),
     panel=function(x, y,groups,...){
       panel.barchart(x,y=change$Change,groups=change$Process,origin = 0,...);
       panel.abline(h=0,col="black",...);
       panel.errbars(x,y,make.grid="none",ewidth=0.2,type="n",...)
     }
     )
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述 有关如何使用panel.errbars或任何其他功能向我的绘图添加错误栏的任何想法?

数据:

    structure(list(Treat = structure(c(3L, 4L, 1L, 2L, 3L, 4L, 1L, 
2L), .Label = c("12-380", "12-750", "8-380", "8-750"), class = "factor"), 
    Process = structure(c(1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L), .Label = c("Resp", 
    "Cal"), class = c("ordered", "factor")), Change = c(-33.05, 
    -34.74, 20.94, 18.06, 6.85, -28.57, -8.1, -78.72), upper …
Run Code Online (Sandbox Code Playgroud)

r bar-chart lattice

6
推荐指数
1
解决办法
3609
查看次数

R水平图和插值

几天前,我设法使用插值在脚本中使用以下命令制作水平图:

levelplot(jan~lon*lat,APM,main="Jan",panel=panel.levelplot.raster,interpolate=T)
Run Code Online (Sandbox Code Playgroud)

我偶然没有保留那个会话,只有脚本,所以我不可能通过历史记录并恢复我用过的所有命令.

现在,在加载latticeExtra之后,相同的命令会生成一个空图.另一方面,省略指令的最后两个元素,即:

levelplot(jan~lon*lat,APM,main="Jan")
Run Code Online (Sandbox Code Playgroud)

绘制图表.

我想在表面进行插值,但是出了点问题

panel=panel.levelplot.raster
Run Code Online (Sandbox Code Playgroud)

加载rasterVis时会发生相同的行为.我想我错过了什么......有什么帮助吗?

数据具有以下结构:

> head(APM)
    lat  lon  jan  feb  mar  apr  may  jun   jul   aug  sep  oct  nov  dec
1 -18.5 10.5 29.7 28.8 25.6 25.6 26.8 29.9  35.5  46.8 35.5 27.5 27.5 27.9
2 -17.5 10.5 28.8 29.8 26.3 26.2 27.8 31.6  39.7  63.1 40.4 27.6 27.6 28.3
3 -16.5 10.5 28.7 30.0 26.9 26.8 28.6 32.1  41.1 109.4 42.8 29.7 28.9 29.4
4 -15.5 10.5 28.4 29.5 27.5 26.9 29.1 34.2 …
Run Code Online (Sandbox Code Playgroud)

r lattice levelplot

6
推荐指数
1
解决办法
1122
查看次数

在R中包括格子图例图中的线和点

大家好,我正在格子图中工作,一切正常,但我对传奇有些麻烦.我正在使用xyplot(),它的工作原理很棒.我的数据框是NM(我dput()在最后部分添加了版本):

        AMes     A2009     A2010   A2011   A2012   A2013   A2014
1       enero  710004.3 1458624.4 6229245 4407423 3006568 1749746
2     febrero  889398.1  942099.6 5553163 4248144 2615730 1902865
3       marzo 1114883.1 1210951.2 6372920 3537103 2833299 1605746
4       abril 1419242.1 1151423.9 6755055 3500596 3438797 2116088
5        mayo 1585857.2 1598355.1 7119008 4049074 3224926      NA
6       junio 1010455.6 1370856.8 7585412 3279869 2794030      NA
7       julio 1292333.4 1420547.4 7258676 3420974 3003458      NA
8      agosto 1032443.3 2048291.1 7250944 2602310 2486932      NA
9  septiembre …
Run Code Online (Sandbox Code Playgroud)

r lattice

6
推荐指数
1
解决办法
2187
查看次数

R中的莱迪思包:是否可以开发交互式"散点图/网络"?

我正在开发一个交互式散点图,以便当用户滚动数据点时,会显示一个标签.但是,我还想在某些数据点之间添加边.

我成功地使用几个库开发了交互式散点图,包括grid,gridSVG,lattice和adegraphics.以下是MWE:

library(grid)
library(gridSVG)
library(lattice)
library(adegraphics)

x = rnorm(10)
y = rnorm(10)
dat = data.frame(label = letters[1:10], x, y)

customPanel2 <- function(x, y, ...) {
  for (j in 1:nrow(dat)) {
    grid.circle(x[j], y[j], r = unit(.5, "mm"),
                default.unit = "native",
                name = paste("point", j, sep = "."))
  }
}

xyplot(y ~ x, panel = customPanel2, xlab = "x variable", ylab=NULL, scales=list(tck = c(1,0), y=list(at=NULL)))

for (i in 1:nrow(dat)) {
  grid.text(as.character(dat$label)[i], x = 0.1, y = 0.01, just = c("left", "bottom"), name …
Run Code Online (Sandbox Code Playgroud)

svg interactive r lattice

6
推荐指数
1
解决办法
204
查看次数

标签 统计

lattice ×10

r ×10

plot ×4

ggplot2 ×3

bar-chart ×1

colors ×1

graphics ×1

interactive ×1

levelplot ×1

polygon ×1

svg ×1