带 Plots.jl 的多轴

BAR*_*BAR 5 julia plots.jl

有没有办法将第二个数据集绘制在一个单独的轴上,覆盖在第一个图上?

using Plots; gadfly(size=(800,400))

plot(Vector[randn(100)], line = ([:green], :step))

plot!(Vector[randn(100)], line = ([:red], :step))
Run Code Online (Sandbox Code Playgroud)

Dis*_*ale 12

现在通过添加一个参数来完成twinx()

plot(rand(10))
plot!(twinx(),100rand(10))
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

然而,存在一些无意的轴和标签行为:

  1. 默认情况下,标签绘制在彼此之上
  2. xticks 绘制在现有绘图的顶部
  3. 默认颜色与子图中的系列总数不相关

因此,我建议添加一些额外的参数:

plot(rand(10),label="left",legend=:topleft)
plot!(twinx(),100rand(10),color=:red,xticks=:none,label="right")
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

目前与次要情节相关的所有系列似乎仍然存在一个问题。


小智 5

这很简单,但不适用于 Gadfly。它应该可以与 PyPlot 和 GR 一起正常工作。这是一个例子:

在此输入图像描述

  • 如果有人像我一样发现这个:不再支持此键。目前您可以通过 twinx() 实现此行为:https://github.com/tbreloff/Plots.jl/issues/378 (8认同)