У меня есть график рассеяния с набором случайных координат x, y. В настоящее время ось Y начинается с 0 и достигает максимального значения. Я бы хотел, чтобы ось Y начиналась с максимального значения и доходила до 0.
points = [(10,5), (5,11), (24,13), (7,8)]
x_arr = []
y_arr = []
for x,y in points:
x_arr.append(x)
y_arr.append(y)
plt.scatter(x_arr,y_arr)
python
matplotlib
DarkAnt
источник
источник
Ответ DisplacedAussie является правильным, но обычно более короткий метод состоит в том, чтобы просто повернуть одну ось в вопросе:
где
gca()
функция возвращает текущий экземпляр Axes и[::-1]
переворачивает список.источник
Используйте matplotlib.pyplot.axis ()
axis([xmin, xmax, ymin, ymax])
Таким образом, вы можете добавить что-то вроде этого в конце:
Хотя вам может потребоваться заполнение на каждом конце, чтобы крайние точки не находились на границе.
источник
Если вы находитесь в
pylab
режиме ipython , тоshow()
требуется , чтобы сделать его обновить текущую фигуру.источник
Вы также можете использовать функцию, отображаемую объектом осей на диаграмме рассеяния.
источник
Другим способом, аналогичным описанному выше, является использование,
plt.ylim
например:Этот метод работает для меня, когда я пытаюсь объединить несколько наборов данных на Y1 и / или Y2
источник
использование ylim () может быть лучшим подходом для вашей цели:
приведет к:
источник
Кроме того, вы можете использовать функцию matplotlib.pyplot.axis () , которая позволяет инвертировать любую ось графика
Или, если вы предпочитаете повернуть только ось Х, то
Действительно, вы можете инвертировать обе оси:
источник
Если вы используете matplotlib, вы можете попробовать:
matplotlib.pyplot.xlim(l, r) matplotlib.pyplot.ylim(b, t)
Эти две линии устанавливают пределы осей x и y соответственно. Для оси x первый аргумент l устанавливает самое левое значение, а второй аргумент r устанавливает самое правое значение. Для оси y первый аргумент b устанавливает самое нижнее значение, а второй аргумент t устанавливает самое верхнее значение.
источник