繁体   English   中英

如何:多个彩色绘图线加上R中的两个y轴

[英]How to: Multiple colored plot lines plus two y-axis in R

我是R的新手,我没有一个线索,请先说明。

我有一个csv文件保存到data ,标题为Cycle,Instances,MaxFitness,MinFitness ,其中循环只对行进行编号,实例超过0到100之间的正弦值,适应度值介于0.5和5之间。

所需的输出是单个svg或pdf文件,其中我有x轴上的循环,左y轴上的适应度和右y轴上的实例。 除此之外,我还需要一个单独的彩色绘图线,用于min,max和实例。

我一直在搞乱情节,xyplot等等一段时间了,但有些东西通常缺少一些东西,让它成为“颜色”,“所有在一个图形”和类似的东西。

如果有人能够对这个问题有所了解,那就太棒了。

没有任何MWE,我创建了一个:

# Create two series with different scales
# Your Cycle is then the index, from 1 to 20
x1 = runif(20, 0, 100)
x2 = runit(20, 0.5, 5)
# Plot them and add specific y axis
plot(x1/100, type ="l", yaxt ="n", ylab ="", ylim = c(0,1))
lines((x2-0.5)/4.5, col = 2)
axis(side = 2, at = c(0.2, 0.8), labels = c(20, 80))
axis(side = 4, at = c(0.5), labels = c(2.75))

结果就是这样 在此输入图像描述

plotly用包装plotly

这是代码(我的数据不是根据你的描述,但它足以显示代码)。

library("plotly")

set.seed(123)

df <- data.frame(
  Cycle=c(1:10)
  , Instances=runif(10,0,100)
  , MaxFitness=runif(10,0.5,5)
  , MinFitness=runif(10,0.5,5)
)


######
## Plot
p <- plot_ly(data = df) %>%
  add_lines(x=~Cycle, y=~MaxFitness, color="blue", name="MaxFitness") %>%
  add_lines(x=~Cycle, y=~MinFitness, color="green", name="MinFitness") %>%
  add_lines(x=~Cycle, y=~Instances, color="red", name="Instances", yaxis="y2") %>%

  layout(

    title = "Double Y Axis Example",
    yaxis=list(
      title = "left y axis"
    ),
    yaxis2=list(
      tickfont = list(color = "red"),
      overlaying = "y",
      side = "right",
      title = "right y axis"
    )

  )
p

这是输出: 在此输入图像描述

现在,您可以根据自己的喜好编辑整个情节。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM