Как отобразить значение ширины сложенного графа "покачиваться" в matplotlib - PullRequest
0 голосов
/ 06 ноября 2018

Я хочу сгенерировать составной график с matplotlib, и я хочу использовать опцию wiggle. Например:

import matplotlib.pyplot as plt

vals = [[0, 1, 1, 2, 3],  [0, 0, 2, 4, 4],  [1, 1, 2, 2, 2]]
xs = [0, 1, 2, 3, 4]
plt.stackplot(xs, vals, baseline='wiggle')
plt.show()

Это рисует что-то вроде этого:

enter image description here

Но я хочу что-то еще (точно не обязательно), как это:

enter image description here

Моя проблема в том, что на оси y существуют отрицательные значения. Это результат использования baseline='wiggle', но мне нужно использовать wiggle, потому что с zero, сюжет не ясен и достаточно читабелен.

y -значения или толщина / ширина всего стека почему я делаю график, поэтому я хотел бы показать, что в конце толщина / ширина всего участка составляет 9.

Что я хочу:

  • для обозначения всего стека толщина / ширина в нескольких x -позициях (5 должно быть в порядке)
  • , чтобы график был максимально чистым и простым
  • решение должно быть простым (иначе проще «нарисовать» цифры на закончил график вручную)

Чего я не хочу (нужно):

  • отрицательные значения на оси y
  • Мне не нужно точно такой же внешний вид, как на картинке выше, мне просто нужно немного способ указания толщина / ширина ..

Что я пробовал:

  • с использованием baseline='zero' - график слишком запутанный, нельзя использовать zero
  • удаление y -тиков (plt.yticks([], [])) и добавление аннотаций вручную - это означает, что я должен создавать аннотации при каждом изменении данных. И это выглядит просто некрасиво.

Есть ли другой простой способ отображения всего стека толщина / ширина осмысленно?

Кроме того, я в порядке с "нет, простого способа сделать это нет, либо у вас есть написать или сделать это вручную " ответ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...