我将Julia与Plots一起使用以生成我的图。
我想绘制数据(A,B),我知道所有有趣的数据都位于A的两个区域中。这两个区域应该在一个图中相互绘制。 我的A数据间隔均匀。因此,我要做的是切出有趣的片段并将其粘贴到一个对象中。
我的问题是我不知道如何在x轴上操作缩放比例。 当我将B数据针对它们的数组索引绘制时,我基本上得到了想要的形式。我只需要x轴上A的数字即可。
我在这里举一个玩具示例
using Plots
N=5000
B=rand(N)
A=(1:1:N)
xl_1=100
xu_1=160
xl_2=600
xu_2=650
A_new=vcat(A[xl_1:xu_1],A[xl_2:xu_2])
B_new=vcat(B[xl_1:xu_1],B[xl_2:xu_2])
plot(A_new,B_new) # This leaves the spacing between the data explicit
plot(B_new) # This creats basically the right spacing, but
# without the right x axis grid
我没有发现任何可以使用两个连续xlim的东西,因此我以这种方式尝试。
答案 0 :(得分:0)
您不能传递两个连续的xlim,因为您不能在轴上中断。这是情节设计的。
因此,您可能会发生以下情况:1)拥有两个具有不同图部分的子图,或2)使用索引进行图绘制,而只需更改轴标签。
第二种方法将使用诸如xticks = ([1, 50, 100, 150], ["1", "50", "600", "650"]
之类的命令,但我建议使用第一种方法,因为严格来讲,这是一种显示数据的更正确方法:
plot(
plot(A[xl_1:xu_1], B[xl_1:xu_1], legend = false),
plot(A[xl_2:xu_2], B[xl_2:xu_2], yshowaxis = false),
link = :y
)