我有以下图表
set.seed(1410)
df<-data.frame(
"site.x"=c(rep("a",3),rep("b",3),rep("c",3),rep("d",3)),
"site.y"=c(rep(c("e","f","g"),4)),
"bond.strength"=sample(1:100,12, replace=TRUE))
library(igraph)
df<-graph.data.frame(df)
V(df)$names <- c("a","b","c","d","e","f","g")
layOUT<-data.frame(x=c(rep(1,4),rep(2,3)),y=c(4:1,3:1))
E(df)[ bond.strength < 101 ]$color <- "red"
E(df)[ bond.strength < 67 ]$color <- "yellow"
E(df)[ bond.strength < 34 ]$color <- "green"
V(df)$color <- "white"
l<-as.matrix(layOUT)
plot(df,layout=l,vertex.size=10,vertex.label=V(df)$names,
edge.arrow.size=0.01,vertex.label.color = "black")
Run Code Online (Sandbox Code Playgroud)

我想沿着顶点 a 和 d 之间的垂直距离均匀地间隔顶点“ge”,以使我当前的图形(见下文)更漂亮。正如你所看到的,它非常拥挤。

此外,我想将 x 轴上的两列顶点靠得更近,但我注意到调整布局中的 x 坐标没有响应。例如,尽管 x 坐标发生了剧烈调整,但以下两个布局生成的图形看起来完全相同。
layOUT<-data.frame(x=c(rep(1,4),rep(2,3)),y=c(4:1,3:1))
layOUT<-data.frame(x=c(rep(1,4),rep(100,3)),y=c(4:1,3:1))
Run Code Online (Sandbox Code Playgroud)
感谢您的任何建议。
我正在使用qplot创建一个堆积条形图,并希望在每个条形的各个部分之间放置一条白线,因为蓝色似乎几乎混合在一起.我不想改变现有的配色方案来解决问题.有任何想法吗?
library(ggplot2)
qplot(carat, data = diamonds, geom = "histogram", fill = color)
Run Code Online (Sandbox Code Playgroud)

如何删除使用定位器插入的最后一项(如文本框)?即
plot(1:3)
text(locator(1),labels="oops wrong spot...remove me",cex=1,font=1)
Run Code Online (Sandbox Code Playgroud) 我需要在线下载300多个.csv文件,并将它们组合成R中的数据框.它们都具有相同的列名,但长度(行数)不同.
l<-c(1441,1447,1577)
s1<-"https://coraltraits.org/species/"
s2<-".csv"
for (i in l){
n<-paste(s1,i,s2, sep="") #creates download url for i
x <- read.csv( curl(n) ) #reads download url for i
#need to sucessively combine each of the 3 dataframes into one
}
Run Code Online (Sandbox Code Playgroud) 我有矩阵:
traits <- matrix(c(1,0,1, 1,0,0, 0,0,0), nrow = 3, ncol=3, byrow=TRUE,
dimnames = list(c("sp1", "sp2", "sp3"),c("Tr1", "Tr2", "Tr3")))
Run Code Online (Sandbox Code Playgroud)
和一份清单
species <-c("sp1", "sp2")
Run Code Online (Sandbox Code Playgroud)
如何过滤'traits'矩阵,使其只返回匹配即
traits.filtered<-matrix(c(1,0, 1,1, 0,0), nrow = 2, ncol=3, byrow=TRUE,
dimnames = list(c("sp1", "sp2"),c("Tr1", "Tr2", "Tr3")))
Run Code Online (Sandbox Code Playgroud)
谢谢你,伊丽莎白
我有一个矢量
v<-c(1,2,3)
Run Code Online (Sandbox Code Playgroud)
我需要以下列方式在向量中添加数字
1,1+2,1+2+3
Run Code Online (Sandbox Code Playgroud)
产生第二个向量
v1<-c(1,3,6)
Run Code Online (Sandbox Code Playgroud)
这可能很简单......但我有点卡住了.
我想使用axis()在图的上方和右侧创建一个带有刻度和标签的图。如何抑制使用 plot() 函数“自动”打印的刻度和标签?谢谢
x<-1:10
y<-1:10
quartz("test")
par(mar=c(10,10,10,10)+0.1)#sets margins of plotting area
par(pty="s")#fixes the aspect ratio to 1:1
#Automatically adds ticks, numbers and axis labels. How can I avoid this?
plot(x,y,typ="n")
#Adds axes above and to the right of plot area...I want these only
axis(side=4,las=2, ylab="y label")
axis(side=3,las=1,xlab="x label")
Run Code Online (Sandbox Code Playgroud) 我有一个包含最小和最大3个范围的向量,即
low<-1,2,3
high<-2,3,4
Run Code Online (Sandbox Code Playgroud)
代表范围1-2,2-3和3-4
我需要返回包含每个范围中点的第三个向量,即
mid<-1.5,2.5,3.5
Run Code Online (Sandbox Code Playgroud)
有什么快速的方法吗?