首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Q图(ggplot2):用相同颜色绘制更多函数的图

Q图(ggplot2):用相同颜色绘制更多函数的图
EN

Stack Overflow用户
提问于 2016-07-24 03:47:32
回答 1查看 34关注 0票数 0

我正在绘制11条曲线,下面的程序运行得很好。但是我不能两次改变野生颜色来绘制11 黑色曲线

代码语言:javascript
复制
library(ggplot2) 
#library(latex2exp) 
library(reshape)
fn <- "img/plot.eps"
fct1  <- function(x0 ){
  return(1/sin(x0)+1/tan(x0))
}
fct2  <- function(beta, t ){
  return(2*atan(exp(t)/beta))
}
t<-seq(from=0,to=10,by=0.01)
s1<-cbind(t, fct2(fct1(-pi+0.0001),t),
          fct2(fct1(-1.5),t),
          fct2(fct1(-0.5),t),
          fct2(fct1(-0.05),t),
          fct2(fct1(-0.01),t), 
          fct2(fct1(0),t),
          fct2(fct1(0.01),t),
          fct2(fct1(0.05),t),
          fct2(fct1(0.5),t),
          fct2(fct1(1.5),t),
          fct2(fct1(pi),t))
colnames(s1)<-c("time","y1","y2","y3","y4","y5","y6","y7","y8","y9","y10","y11")
s2 <- melt(as.data.frame(s1), id = "time")
q <- ggplot(s2, aes(x = time, y = value, color = variable))
q <- q + geom_line() + ylab("y") + xlab("t")+ ylab("x(t)")+
  theme_bw(base_size = 7) + guides(colour = FALSE)
ggsave(file = fn, width = 2, height = 1)
q

编辑现在代码应该是可重复的

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-24 05:46:40

您需要将变量映射到分组,默认情况下它将生成黑线。

代码语言:javascript
复制
q <- ggplot() +
  geom_line(data = s2, aes(x = time, y = value,
                    group = variable)) +
                xlab("t")+ ylab("x(t)") +
  theme_bw(base_size = 7) + guides(colour = FALSE)
q

要完全清楚,可以将颜色映射到变量,这可以产生黑线,但不能不改变图例。下面是您如何修改事实之后的颜色,如果您愿意的话,已经将颜色映射到变量。

代码语言:javascript
复制
q <- ggplot() +
  geom_line(data = s2, aes(x = time, y = value,
                           color = variable)) +
  xlab("t")+ ylab("x(t)") +
  theme_bw(base_size = 7) + guides(colour = FALSE) +
  scale_color_manual(values = rep("black",11))
q
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38548548

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档