Вам нужно отделить значения x от значений y. Это может быть сделано с помощью zip
:
Первое:
import numpy as np
import matplotlib.pypl as plt
Сейчас:
In [263]: lst = [[1,100.1],[2,133.222],[3,198.0]]
In [264]: xs, ys = [*zip(*lst)]
In [265]: xs
Out[265]: (1, 2, 3)
In [266]: ys
Out[266]: (100.1, 133.222, 198.0)
Теперь выводим бары:
In [267]: plt.bar(xs, ys)
Гистограммы не установленные БАРС ширины автоматически , В данном случае ширина оказалась тонкими, но более систематическим способом будет принимать различия между значениями х, как это:
In [269]: np.diff(xs)
Out[269]: array([1, 1])
Обычно у вас есть равноудаленные х значения, но это необходимость не так. Вы можете установить ширину до минимальной разности между значениями х, поэтому гистограмма может генерироваться следующим образом:
In [268]: plt.bar(xs, ys, width=0.9 * np.min(np.diff(xs)))
Работали фантастики. Спасибо за вашу помощь! – Cellydy