Как построить этот график? - PullRequest
0 голосов
/ 16 февраля 2019

Привет, эксперты по визуализации данных!

Я пытаюсь нарисовать этот рисованный пример графика здесь, на python.

Однако, похоже, это такбудет гораздо сложнее построить по сравнению с обычными графиками.

Было бы здорово, если бы специалист по визуализации мог помочь в построении этого графика.На рисованной фигуре я держал все линии красными, однако они могут быть разных цветов.

Спасибо за ваши ответы:)

Ответы [ 2 ]

0 голосов
/ 16 февраля 2019

Настройте данные следующим образом, после того как вы выбрали диапазон для гистограммы, вам нужно поменять оси X и Y:

img1

0 голосов
/ 16 февраля 2019

Без данных я не могу помочь в построении графика, но вы можете решить его с помощью Python, следуя примерам:

https://matplotlib.org/gallery/units/bar_demo2.html?highlight=bar

^ Возможно, вы можете иметь каждую гистограмму наотдельный подзаговор?

Если ваш ввод состоит из нескольких наборов данных, вы можете посмотреть, возможно, гистограмму с несколькими наборами данных в

https://matplotlib.org/gallery/statistics/histogram_multihist.html?highlight=hist

^ Если вы хотите иметьпервый столбец всех категорий рядом друг с другом, затем второй столбец и т. д.

Возможно, вы бы предпочли просто стандартную гистограмму:

https://matplotlib.org/gallery/statistics/histogram_features.html?highlight=hist

Этодействительно зависит от того, что вы пытаетесь подчеркнуть из ваших данных

@ EDIT

Вот программа Python для построения вашей информации!Вы можете легко отрегулировать ширину (я закомментировал способ установить ширину, чтобы покрыть пустые промежутки, но она слегка отклонена) и построить линию, которую я использовал бы width = 0.01

import matplotlib.pyplot as plt
import numpy as np

data = {0: [4, 8, 6],
        1: [2, 4, 3, 6],
        2: [3, 6],
        3: [10, 3, 8, 6, 10, 12]}

fig, ax = plt.subplots(tight_layout=True)

for key, values in data.items():
    ind = np.arange(key, key + 1, 1/len(data[key]))
    width = 0.1 # 1/len(data[key])
    ax.bar(ind + width/len(values), data[key], width, align='center', label="Category {}".format(key + 1))

ax.xaxis.set_ticks([])
ax.set_xticklabels(' ')
ax.legend()
ax.set_ylabel('Some vertical label')
plt.title('My plot for Stack Overflow')
plt.show()

. Это выводит:category bar chart Что я думаю - это то, что вы ищете.Возможно, это не идеальное решение, но я думаю, что оно демонстрирует методологию, используемую для создания таких графиков :).Если это решение решит вашу проблему, я был бы признателен, если бы вы нажали галочку напротив моего сообщения, чтобы принять его в качестве ответа, который вы искали!

...