Dataframe 绘制时间序列的子集';朱莉娅的观点

Dataframe 绘制时间序列的子集';朱莉娅的观点,dataframe,plot,time-series,julia,Dataframe,Plot,Time Series,Julia,我有1975-1985年和2000-2005年的时间序列记录。我希望有一块只有这些年份的地块,即没有1986-1999年之间的所有年份。除此之外,我希望1985年和2000年没有联系,颜色不同 不幸的是,我只制作了一个包含所有年份的情节。我使用的是数据帧和绘图包。有人知道如何解决这个问题吗>P>从你的问题看,你的数据看起来不是100%(在1986年到99年有没有丢失< /代码> s)和你期望的输出(你想在图的中间有一个空隙吗?),但是这里有几个选项: # Packages to use usin

我有1975-1985年和2000-2005年的时间序列记录。我希望有一块只有这些年份的地块,即没有1986-1999年之间的所有年份。除此之外,我希望1985年和2000年没有联系,颜色不同


不幸的是,我只制作了一个包含所有年份的情节。我使用的是数据帧和绘图包。有人知道如何解决这个问题吗

>P>从你的问题看,你的数据看起来不是100%(在1986年到99年有没有<代码>丢失< /代码> s)和你期望的输出(你想在图的中间有一个空隙吗?),但是这里有几个选项:

# Packages to use
using Dates, DataFrames, Plots

# Example data
df = DataFrame(date = Date(1975):Year(1):Date(2005),
               data = rand(31))

# Option 1 - plot with no data in the middle (straight line interpolation)
plot(df[.!in(1986:1999).(year.(df.date)), :date], 
     df[.!in(1986:1999).(year.(df.date)), :data])

编辑以添加:

如果数据确实丢失,则可通过执行以下操作更简单地生成选项3:

# Create example column with missing data 
df[:, :data_missing] = allowmissing(df.data)
df[in(1986:1999).(year.(df.date)), :data_missing] .= missing

# Plot option 3 
plot(df.date, df.data_missing)
再次编辑以添加: 最后,如果您想在两种颜色和不同颜色之间留出间隙,则需要选项2的变体:

plot(df[in([1970:1986; 2000:2015]).(year.(df.date)), :data_missing])
plot!(13:18, df[in(2000:2015).(year.(df.date)), :data_missing], label = "",
    xticks = (1:18, year.(df[in([1970:1986; 2000:2015]).(year.(df.date)), :date])))

< /P> < P>从你的问题中看不清楚你的数据是什么样子(在1986年到1999年有没有<代码>丢失< /代码> s)和你期望的输出是什么(你想在图的中间有一个空隙)吗?但是这里有几个选项:

# Packages to use
using Dates, DataFrames, Plots

# Example data
df = DataFrame(date = Date(1975):Year(1):Date(2005),
               data = rand(31))

# Option 1 - plot with no data in the middle (straight line interpolation)
plot(df[.!in(1986:1999).(year.(df.date)), :date], 
     df[.!in(1986:1999).(year.(df.date)), :data])

编辑以添加:

如果数据确实丢失,则可通过执行以下操作更简单地生成选项3:

# Create example column with missing data 
df[:, :data_missing] = allowmissing(df.data)
df[in(1986:1999).(year.(df.date)), :data_missing] .= missing

# Plot option 3 
plot(df.date, df.data_missing)
再次编辑以添加: 最后,如果您想在两种颜色和不同颜色之间留出间隙,则需要选项2的变体:

plot(df[in([1970:1986; 2000:2015]).(year.(df.date)), :data_missing])
plot!(13:18, df[in(2000:2015).(year.(df.date)), :data_missing], label = "",
    xticks = (1:18, year.(df[in([1970:1986; 2000:2015]).(year.(df.date)), :date])))

谢谢你。是的,86-99的数据缺失。我确实不希望绘图看起来像选项1和2。在这种情况下,生成选项3应该更容易-请参见上面的编辑。我希望它类似于选项3,但1985年和2000年没有连接,颜色不同。我一直在玩代码,试图得到这样的东西,但我再次失败。也许你能帮上忙?我又增加了一个选项。是的,86-99的数据缺失。我确实不希望绘图看起来像选项1和2。在这种情况下,生成选项3应该更容易-请参见上面的编辑。我希望它类似于选项3,但1985年和2000年没有连接,颜色不同。我一直在玩代码,试图得到这样的东西,但我再次失败。也许你能帮上忙?你增加了另一个选择