Использование библиотеки Matplotlib. Как изменять интервал осей

Немного рекламы

По умолчанию библиотека Matplotlib подбирает масштаб графика так, чтобы в окне уместились все точки, однако с помощью функций xlim() и ylim() можно задавать интервал, который мы хотим посмотреть более подробно.

Следующий пример создает список точек, расположенных на интервале от -50 до 50 по оси X, однако мы ограничиваем просматриваемую область интервалом от -10 до 30.

#!/usr/bin/env python
# -*- coding: UTF-8 -*-

import math

# !!! Импортируем один из пакетов Matplotlib
import pylab

# !!! Импортируем пакет со вспомогательными функциями
from matplotlib import mlab

# Будем рисовать график этой функции
def func (x):
    """
    sinc (x)
    """

    if x == 0:
        return 1.0
    return math.sin (x) / x

# Интервал изменения переменной по оси X
xmin = -50.0
xmax = 50.0

# Шаг между точками
dx = 0.2

# !!! Создадим список координат по оси X на отрезке [-xmin; xmax], включая концы
xlist = mlab.frange (xmin, xmax, dx)

# Вычислим значение функции в заданных точках
ylist = [func (x) for x in xlist]

# !!! Нарисуем одномерный график с использованием стиля
pylab.plot (xlist, ylist)

# !!! На графике будет показан только участок от -10 до 30 по оси X
pylab.xlim (-10, 30)

# !!! Покажем окно с нарисованным графиком
pylab.show()

Результат получается следующий:

Следующий пример использует также функцию ylim(), чтобы расширить область по вертикали от -1 до 2:

#!/usr/bin/env python
# -*- coding: UTF-8 -*-

import math

# !!! Импортируем один из пакетов Matplotlib
import pylab

# !!! Импортируем пакет со вспомогательными функциями
from matplotlib import mlab

# Будем рисовать график этой функции
def func (x):
    """
    sinc (x)
    """

    if x == 0:
        return 1.0
    return math.sin (x) / x

# Интервал изменения переменной по оси X
xmin = -50.0
xmax = 50.0

# Шаг между точками
dx = 0.2

# !!! Создадим список координат по оиси X на отрезке [-xmin; xmax], включая концы
xlist = mlab.frange (xmin, xmax, dx)

# Вычислим значение функции в заданных точках
ylist = [func (x) for x in xlist]

# !!! Нарисуем одномерный график с использованием стиля
pylab.plot (xlist, ylist)

# !!! На графике будет показан только участок от -10 до 30 по оси X
pylab.xlim (-10, 30)

# !!! На графике будет показан участок от -1 до 2 по оси Y
pylab.ylim (-1, 2)

# !!! Покажем окно с нарисованным графиком
pylab.show()

В результате мы увидим следующую картину:

Если мы хотим изменить только верхний или нижний предел на осях, то можно воспользоваться именованными параметрами xmin или xmax для функции xlim() и ymin или ymax для функции ylim(). Думаю, что их назначение понятно из названий.

Следующий пример изменяет только нижний предел по оси X и верхний по оси Y:

#!/usr/bin/env python
# -*- coding: UTF-8 -*-

import math

# !!! Импортируем один из пакетов Matplotlib
import pylab

# !!! Импортируем пакет со вспомогательными функциями
from matplotlib import mlab

# Будем рисовать график этой функции
def func (x):
    """
    sinc (x)
    """

    if x == 0:
        return 1.0
    return math.sin (x) / x

# Интервал изменения переменной по оси X
xmin = -50.0
xmax = 50.0

# Шаг между точками
dx = 0.2

# !!! Создадим список координат по оиси X на отрезке [-xmin; xmax], включая концы
xlist = mlab.frange (xmin, xmax, dx)

# Вычислим значение функции в заданных точках
ylist = [func (x) for x in xlist]

# !!! Нарисуем одномерный график с использованием стиля
pylab.plot (xlist, ylist)

# !!! На графике будет показан только участок от -10 до 30 по оси X
pylab.xlim (xmin = -10)

# !!! На графике будет показан участок от -1 до 2 по оси Y
pylab.ylim (ymax = 2)

# !!! Покажем окно с нарисованным графиком
pylab.show()

Результат выглядит следующим образом:

Остальные примеры

Немного рекламы

Вы можете подписаться на новости сайта через RSS, Группу Вконтакте или Канал в Telegram.
5 stars

Рейтинг 4.8/5. Всего 9 голос(а, ов)




Подписаться на комментарии
Автор:
Тема:
 Ваш комментарий
 
 
Введите код 967