我正在尝试在我使用igraph绘制的网络图下方添加颜色渐变条。由于某种原因,无法显示颜色渐变条的轴标签。但是,当我在没有网络图的情况下单独绘制颜色渐变条时,轴标签会完美显示。有什么建议吗?
colorstrip <- function(colors) {
count <- length(colors)
m <- matrix(1:count, count, 1)
par(mai=c(5, 50, 30, 50), cex.axis=2, ann=T, tck=-1)
image(m, col=colors, ylab="", axes=FALSE)
axis(side=3, at=seq(from=-0.165, to=1.22, by=0.332),
labels=letters[1:5])
}
library(igraph)
g <- graph.ring(10)
pdf("test_igraph.pdf", width=200, height=200)
layout(matrix(c(1,2), nrow=2), heights=c(2,0.5))
plot(g)
colorstrip(c("red", "mediumseagreen", "yellow", "blue"))
dev.off()
答案 0 :(得分:0)
标签在那里,但它们非常小。放大PDF查看器,然后您将看到它们。
它们很小的原因是情节本身很大。对于pdf()
width
和height
以英寸为单位,因此您的200中有200个。解决方案是使图形更小(或字母更大,但我想你不想要有一个巨大的数字):
colorstrip <- function(colors) {
count <- length(colors)
m <- matrix(1:count, count, 1)
par(mai=c(0.2, 2, 1, 2), cex.axis=2, ann=T, tck=-1)
image(m, col=colors, ylab="", axes=FALSE)
axis(side=3, at=seq(from=-0.165, to=1.22, by=0.332),
labels=letters[1:5])
}
library(igraph)
g <- graph.ring(10)
pdf("test_igraph.pdf", width=7, height=7)
layout(matrix(c(1,2), nrow=2), heights=c(2,0.5))
plot(g)
colorstrip(c("red", "mediumseagreen", "yellow", "blue"))
dev.off()
所以这与igraph无关。实际上,即使您只绘制彩条,也不会看到标签。