График значений графика для повторяющихся значений по оси X в matplotlib - PullRequest
0 голосов
/ 01 мая 2018

У меня есть некоторые примеры данных для осей X и Y следующим образом:

x_data = ['a','a','a',
          'b','b','b',
          'c','c','c']

y_data = [1,2,3,4,5,6,7,8,9]

Я хочу построить это в matplotlib, но только 3 точки построены и соединены линиями, как показано ниже:

Sample Plot

Я использую простой код, как показано ниже:

from matplotlib import pyplot as plt
plt.plot(x_data,y_data)
plt.show()

Как построить все 9 точек в matplotlib?

Редактировать.

Я пытаюсь добиться следующего:

Plot trying to achieve

1 Ответ

0 голосов
/ 01 мая 2018

Первое, что нужно сделать, это понять, каковы ваши данные оси X. Исходя из вашего примера в комментариях, то, что у вас действительно есть, выглядит примерно так:

Категория: A & Emsp; B & emsp; C

Образец: 1, 2, 3, 1, 2, 3, 1, 2, 3

Т.е. у вас есть двухуровневые иерархические данные в качестве оси x.

Быстрое решение состоит в том, чтобы просто пометить x полностью:

x = [a1, a2, a3, b1, b2, b3, c1, c2, c3]

Тогда у вас будет 9 точек по прямой. Тем не менее, у вас также будет 9 тиков на оси х. Если вы хотите иметь только три галочки, то вам стоит взглянуть на создание мажорных и минорных галочек и скрытие минорных галочек.

Отключить мелкие галочки: https://matplotlib.org/api/_as_gen/matplotlib.pyplot.minorticks_off.html

Настройка мелких и основных тиков: https://matplotlib.org/examples/pylab_examples/major_minor_demo1.html

Обратите особое внимание на средство форматирования для галочек, потому что это позволит вам отформатировать «a1», «a2», «a3» и т. Д. В «A» и т. Д.

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