在ggplot的单个图中绘制时间序列的每一天

时间:2020-04-03 08:21:00

标签: r ggplot2 time-series

我有一个月的时间序列数据,采样频率为1 Hz

data <- data.frame(
  date = as.POSIXct("2019-01-01 12:00:00") - 0:2678399,
  value = runif(2678400) + seq(-140, 224,len = 2678400)^2 / 10000
)

如何使用ggplot每天进行一次绘图?

1 个答案:

答案 0 :(得分:1)

import random
from multiprocessing import Process as Task, freeze_support, Pool
import time

N = 10 ** 3
l = [random.randint(2 ** 999, 2 ** 1000 - 1) for x in range(N)]


# ---------------------------------------------------------------
class Loop:
    def __init__(self):
        self.result = 0

    def boucle(self, start, end):
        self.result = l[start]

        for v in l[start + 1:end]:
            self.result = self.result * v

        return self.result


# ---------------------------------------------------------------
if __name__ == "__main__":
    print("1 Loop without multiprocessing")
    A = Loop()
    sta = time.time()
    ra = A.boucle(0, N)
    end = time.time()
    print("--> Time :", end - sta)
    # ----------------------------------------------------------------------

    print("2 Loops without multiprocessing")
    B1 = Loop()
    B2 = Loop()
    sta = time.time()
    rb1 = B1.boucle(0, N // 2)
    rb2 = B2.boucle(N // 2, N)
    rb = B1.result * B2.result
    end = time.time()
    print("--> Time :", end - sta)
    if rb - A.result == 0:
        check = "OK"
    else:
        check = "fail"
    print("--> Check :", check)
    # ----------------------------------------------------------------------
    print("2 Loops with multiprocessing")
    freeze_support()
    D1 = Loop()
    D2 = Loop()

    pool = Pool(processes=2)

    with pool:
        sta = time.time()
        sta = time.time()
        rb1 = pool.apply_async(B1.boucle, (0, N // 2))
        rb2 = pool.apply_async(B2.boucle, (N // 2, N))

        v1 = rb1.get()
        v2 = rb2.get()

        rd = v1 * v2
        end = time.time()

        print("D1", D1.result)
        print("D2", D2.result)
    print("--> Time :", end - sta)
    if rd - A.result == 0:
        check = "OK"
    else:
        check = "fail"
    print("--> Check :", check)