我创建了一个带格子的xyplot
library(lattice)
X1=c(5, -2, 1, -3)
X2=X1^2
names=paste("dot", 1:4, sep="")
xyplot(X2~X1, data=data.frame(X1, X2), pch=20, cex=1:4)
Run Code Online (Sandbox Code Playgroud)
现在我想为每个点添加一个标签(文本).信息在
names=paste("dot", 1:4, sep="")
Run Code Online (Sandbox Code Playgroud)
我试过以下没有成功
panel.text(x=X2, y=X1, names)
Run Code Online (Sandbox Code Playgroud)
或者,使用直接标签
library(directlabels)
p=xyplot(X2~X1,data=data.frame(X1, X2), pch=20, group=names, cex=1:4)
direct.label(p,smart.grid,FALSE)
Run Code Online (Sandbox Code Playgroud)
但是我不喜欢它因为我不得不分组使用group=names,基本上每个点都在不同的组中?还有另一种方法吗?
我可以创建简单的图形.我想在同一图表上观察和预测值(来自线性回归).我绘制说YvariableVS Xvariable.只有1个预测变量,只有1个响应.我怎样才能将线性回归曲线添加到同一图表中?
所以总结需要帮助:
我正在创建一个bwplot {lattice},我希望它不会显示异常值.这是示例代码:
m <- mtcars
m$gear <- factor(m$gear)
m$vs <- factor(m$vs)
m$am <- factor(m$am)
bwplot(drat ~ gear | am + vs,
data = m)
Run Code Online (Sandbox Code Playgroud) 我正在尝试绘制一堆薄板样条响应曲面,用于与两个连续变量加一个离散变量相关的测量。到目前为止,我一直在基于离散变量对数据进行子集化以生成成对的图,但在我看来应该有一种方法来创建一些光滑的网格图。似乎这可以通过在 和 中分面热图来完成ggplot2,geom_tile但geom_contour我坚持
(1) 如何重新组织数据(或解释预测的表面数据)以使用 进行绘图ggplot2?
(2) 使用基本图形创建网格热图的语法?或者
(3)使用图形来rsm完成此任务的方法(rsm可以处理高阶曲面,因此我可以在某种程度上强制执行某些操作,但绘图并未完全网格化)。
这是我迄今为止一直在使用的示例:
library(fields)
library(ggplot2)
sumframe<-structure(list(Morph = c("LW", "LW", "LW", "LW", "LW", "LW",
"LW", "LW", "LW", "LW", "LW", "LW", "LW", "SW", "SW", "SW", "SW",
"SW", "SW", "SW", "SW", "SW", "SW", "SW", "SW", "SW"), xvalue = c(4,
8, 9, 9.75, 13, 14, 16.25, 17.25, 18, 23, 27, 28, 28.75, 4, 8,
9, 9.75, 13, 14, 16.25, 17.25, 18, 23, 27, 28, 28.75), …Run Code Online (Sandbox Code Playgroud) 我正在使用levelplot(晶格)在R中创建相关热图.我喜欢盒子之间的边界,但不喜欢外面,因为它会干扰情节边界.如何从框中删除外边框?
这是我的代码:
levelplot(matrix, border="black",
colorkey=list(height=.25, space="right", at=seq(-1, 1, .25), cuts=7),
scales=list(y=(list(cex=1)), tck = c(1,0), x=list(cex=1, rot=90)),
main="Leaf Correlations", xlab="", ylab="",
col.regions=scalebluered)
Run Code Online (Sandbox Code Playgroud)
这就是它的样子..我不喜欢边缘上的双线..

编辑:这是一个可重复的例子:
data(mtcars)
cars.matrix <- as.matrix(mtcars[c(2:8)])
cars.corr <- cor(cars.matrix)
levelplot(cars.corr, border="black", colorkey=list(height=.25, space="right",
at=seq(-1, 1, .25), cuts=7),
scales=list(y=(list(cex=1)), tck = c(1,0), x=list(cex=1, rot=90)),
xlab="", ylab="")
Run Code Online (Sandbox Code Playgroud) 我有一个"因素",浮点数和整数的熊猫数据框.我想在分类变量上使用条件和分组来制作"R Lattice",就像它上面的情节一样.我已广泛使用R并编写了自定义面板函数来获得我想要的格式,但我正在努力使用matplotlib来简洁地完成相同类型的绘图.我正在玩布局和subplot2grid,但似乎无法正确使用它.
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
nRows = 500
df = pd.DataFrame({'c1' : np.random.choice(['A','B','C','D'], size=nRows),
'c2' : np.random.choice(['P','Q','R'], size=nRows),
'i1' : np.random.randint(20,50, nRows),
'i2' : np.random.randint(0,10, nRows),
'x1' : 3 * np.random.randn(nRows) + 90,
'x2' : 2 * np.random.randn(nRows) + 89})
Run Code Online (Sandbox Code Playgroud)
我想绘制如下的东西(R格子代码示例)
每个c1级别的x1与x2(格子码)
xyplot(x1 ~ x2 | c1, data = df)
Run Code Online (Sandbox Code Playgroud)
具有"全局"图例c2(符号或颜色)的每个c1级别的x1与x2
xyplot(x1 ~ x2 | c1, groups = c2, data = df)
Run Code Online (Sandbox Code Playgroud)
每个c2的x1直方图
hist (~x1 | c1, data = df)
Run Code Online (Sandbox Code Playgroud)
我也试图制作"条件"等高线图,例如这里产生的等值线图(1.4.4.4) …
我今天将 R 3.4.4 更新为 R 3.5.0。我的包裹不能再通过R CMD check了。它在 处失败checking whether package can be installed ... ERROR。
另一方面,我的包可以工作,只要我不检查它,我就可以安装和使用它。
错误如下:
Error: package or namespace load failed for ‘sp’:
package ‘lattice’ was installed by an R version with different internals; it needs to be reinstalled for use with this R version
Error : package ‘sp’ could not be loaded
Run Code Online (Sandbox Code Playgroud)
我尝试通过lattice以下方式重新安装:
sudo apt-get --reinstall install r-cran-lattice
Run Code Online (Sandbox Code Playgroud)
或者
remove.packages("lattice", lib="~/R/x86_64-pc-linux-gnu-library/3.5")
install.package("lattice")
Run Code Online (Sandbox Code Playgroud)
lattice在这两种情况下都正确安装了软件包。但这并不能解决我的问题。此外,我确保有一个lattice删除一个版本r-cran或自编译版本的单一版本。什么都行不通。
编辑顺便说一句,我可以做到 …
我可以轻松地mesh3d在 R 中绘制一个图:
library(plotly)
x <- runif(50, 0, 110)
y <- runif(50, 0, 1)
z <- runif(50, 1, 2)
plot_ly(x = ~x, y = ~y, z = ~z, type = 'mesh3d')
Run Code Online (Sandbox Code Playgroud)
我想根据变量的值对表面进行着色z:高值对应于红色或橙色,中值对应于黄色或绿色,较小值对应于浅蓝色或蓝色。我的问题:我该如何使用mesh3d?
wireframe我使用包中的函数做了类似的事情lattice。
library(lattice)
x<-runif(12,0,1)
y<-runif(12,0,2)
grid<-expand.grid(x,y)
z<-grid$Var1 + grid$Var2^2
df<-data.frame(z=z,x=grid$Var1,y=grid$Var2)
# Note: there are 144 observations and I want 6 colors, so I need 144/6 = 24 replications for each color
nrow(df)
nrow(df)/6
a<-palette(c(rep("blue",24),rep("light blue",24),rep("green",24),rep("yellow",24),rep("orange",24),rep("red",24)))
wireframe(z~x + y,data=df,drape=T,col.regions=a)
Run Code Online (Sandbox Code Playgroud) 在许多脚本中,我首先在屏幕上开发一个图形,然后需要将其保存为具有特定高度/宽度/分辨率的多种文件格式。使用png(), pdf(), svg(), ... 打开一个设备,然后dev.off()关闭它,我被迫将所有设备打开调用放入我的脚本中并将它们注释掉并一次一个设备重新运行代码。
我知道对于 ggplot 图形,ggsave()使这更容易。对于base-R和点阵图形,我可以做些什么来简化它?
一个例子:
png(filename="myplot.png", width=6, height=5, res=300, units="in")
# svg(filename="myplot.svg", width=6, height=5)
# pdf(filename="myplot.pdf", width=6, height=5)
op <- par() # set graphics parameters
plot() # do the plot
par(op)
dev.off()
Run Code Online (Sandbox Code Playgroud) 致所有同态加密专家:
我正在使用 PALISADE 库:
int plaintextModulus = 65537;
float sigma = 3.2;
SecurityLevel securityLevel = HEStd_128_classic;
uint32_t depth = 2;
//Instantiate the crypto context
CryptoContext<DCRTPoly> cc = CryptoContextFactory<DCRTPoly>::genCryptoContextBFVrns(
plaintextModulus, securityLevel, sigma, 0, depth, 0, OPTIMIZED);
Run Code Online (Sandbox Code Playgroud)
您能解释一下(所有)特别关注 ptm、深度和 sigma 的参数吗?
其次,我试图用上面的 cc 制作一个打包明文。
cc->MakePackedPlaintext(array);
Run Code Online (Sandbox Code Playgroud)
数组的最大尺寸是多少?在我的本地计算机(8GB RAM)上,当数组大于 ~8000 int64 时,我收到free(): invalid next size (normal)错误