gnuplot: порядок наложения нескольких графиков в тупом терминале - PullRequest
1 голос
/ 10 июля 2019

У меня довольно "осциллирующие данные" (значение метки времени1).Поэтому я добавил еще один столбец, содержащий скользящее среднее, чтобы данные выглядели так (отметка времени значение1 значение2).Я использую тупой терминал.Идея состоит в том, чтобы отображать колебательные данные «точками» и «сверху» средней линии «линиями».К сожалению, мой результат выглядит следующим образом:

  3 ++---+---+----+---+----+---+----+--##----+---+----+----+---+----+---+----+---+----+---+----+---+----+---+---++
    +        +        +.       #       ##        +         +        +        +        +        + raw data   .    +
    |                          #      ..#     ..  . .                            10 minute moving average ###### |
2.8 ++                .        #      .##       #   # .                                                         ++
    |               .. .       #       .#       #.  #                                                            |
    |   .           #          #.      ##   .. ..  .##   .                                                       |
2.6 ++              #       .  # .    .## .    ##.  ##                                                          ++
    |               #..  .     # .    .## ..  #.#.# ##                                                           |
    |      .        #  ## #   .#      .## .   .#...... .                                                         |
2.4 ++    . .       # ### #  . #.. #. #.. #.. .#. #.##  .                                                       ++
    |    ....      ..##.. # .# ##..#..# # #.#.. .... #  .#                                                       |
    |    . ... .   .###.####.#.## #.#.. # ...# .   # .  .#                                                       |
2.2 ++ . #.###.    #..###.## ..#..##..  ..#....    .  ...#                                                      ++
    |   .###..##. ...# #....##..# ... ..... ..    .  ...##                                                       |
    |   ....#.#. ..# .... .#....#.##..  ..          .....#                                                       |
  2 ++ ... ...#.# ... ......   .# . .   ..            .. #                                                      ++
    |  .  .   ......  .    ..   .    .   .   .     .     #                                                       |
1.8 ++  . .  .# ..          ..    .    .                 #                                                      ++
    |  ..     .....                                      #                                                       |
    |           .          .                             #                                                       |
1.6 ++          .                                        #                                                      ++
    |                                                    #                                                .      |
    |                                                    #                                                       |
1.4 ++                                                   #                            .                    .    ++
    |                                                    #  .       .                 .   .         .    ...     |
    |                                                    . . .  .    .... .. . . . .. .#.   .  . ...   . ...     |
1.2 ++                                                   .........  .................... .....   ... ... ..     ++
    |                                                    ..................................................      |
    +        +        +        +        +        +         .     ..... .     + . . .  +........... ......        +
  1 ++---+---+----+---+----+---+----+---+----+---+----+----+---.----+---+----+---+----+---+----+---+----+---+---++
  11:00    12:00    13:00    14:00    15:00    16:00     17:00    18:00    19:00    20:00    21:00    22:00    23:00

Средние данные все еще колеблются, но это не главное.На графике есть несколько мест, где # -линия больше не видна.Используемая команда plot -

plot 'data.dat' using 1:2 with dots title 'raw data', '' using 1:3 with lines title '10 minute moving average'

Как видите, на среднюю линию часто накладываются необработанные данные.Все мои попытки (изменить порядок, ширину линии ...) не увенчались успехом.Только при использовании «с линиями» в обоих случаях порядок имеет значение.Но я не хочу, чтобы исходные данные отображались в виде линии.

Если вы хотите воспроизвести мою проблему, вы можете использовать

set terminal dumb
plot cos(x) w dots, abs(cos(x)) w lines

. Это приведет к

   1 +###--------..---+-----##--------...--------##-----+---..--------###+
     +# #       .  .  +    #  #      . + .      #  #    +  cos(x)   . # #+
 0.8 #+  #     .    #     #   #      .   .      #   # abs(cos(x)) ######+#
     |    #    #    .     #    #     #    #    #    #     .    #    #    |
 0.6 ++   #    .     .    #     #   .     .    #     #   .     .    #   ++
     |    #   .      #   #      #   #      #  #      #   #      .   #    |
 0.4 ++    #  #      .  #       #  .       .  #       #  .       #  #   ++
     |     # .        # #       #  .       .  #       #  #       . #     |
 0.2 ++     ##        . #        # #        # #       # .        # #    ++
     |      #.         ##        #.         .#         ##        .#      |
   0 ++                .                               .                ++
     |      .                    .           .                    .      |
-0.2 ++                 .                             .                 ++
     |     .                    .             .                    .     |
-0.4 ++                 .                             .                 ++
     |    .              .      .             .      .              .    |
-0.6 ++                                                                 ++
     |    .               .    .               .    .               .    |
-0.8 .+  .                .   .                 .   .                .  +.
     +. .             +    .  .        +        .  .    +             . .+
  -1 +...-------------+-----..---------+---------..-----+-------------...+
    -10              -5                0                5                10

Но ожидаемый результат должен выглядеть следующим образом (все точки наложены на #)

   1 +###--------##---+-----##--------###--------##-----+---##--------###+
     +# #       #  #  +    #  #      # + #      #  #    +  cos(x)   . # #+
 0.8 #+  #     #    #     #   #      #   #      #   # abs(cos(x)) ######+#
     |    #    #    #     #    #     #    #    #    #     #    #    #    |
 0.6 ++   #    #     #    #     #   #     #    #     #   #     #    #   ++
     |    #   #      #   #      #   #      #  #      #   #      #   #    |
 0.4 ++    #  #      #  #       #  #       #  #       #  #       #  #   ++
     |     # #        # #       #  #       #  #       #  #       # #     |
 0.2 ++     ##        # #        # #        # #       # #        # #    ++
     |      ##         ##        ##         ##         ##        ##      |
   0 ++                #                               #                ++
     |      .                    .           .                    .      |
-0.2 ++                 .                             .                 ++
     |     .                    .             .                    .     |
-0.4 ++                 .                             .                 ++
     |    .              .      .             .      .              .    |
-0.6 ++                                                                 ++
     |    .               .    .               .    .               .    |
-0.8 .+  .                .   .                 .   .                .  +.
     +. .             +    .  .        +        .  .    +             . .+
  -1 +...-------------+-----..---------+---------..-----+-------------...+
    -10              -5                0                5                10
...