Можно ли создать конфигурацию python / matplotlib для построения ограниченной области данных?

Я пытаюсь создать контурный график с контуром matplotlib. Есть ли способ увеличить конкретную область моих данных и оставить остальные без графика? Например, мой горизонтальный экстент может быть от -1 до 101, но я просто хочу отобразить данные в диапазоне от 0 до 100 включительно, и я хочу, чтобы граница графика была нарисована на 0 слева и 100 справа. Я думал, что ключевое слово "протяженность" выполнит эту работу, но оно неактивно, когда даны данные X и Y. Я знаю, что могу маскировать посторонние данные различными способами, но это оставляет границы графика за пределами интересующей меня области, а это не то, что я хочу. Думаю, я мог бы также отфильтровать или интерполировать свои данные в интересующую меня область, а затем передать эти отфильтрованные данные в contourf, но если бы я мог просто сфокусировать contourf на определенной области, это было бы намного проще. Спасибо.


person bob.sacamento    schedule 10.12.2012    source источник


Ответы (1)


Возможно, вы ищете plt.xlim:

import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(-1,101,100)
y = np.linspace(-1,101,100)
x, y = np.meshgrid(x, y)
z = x*x+y*y
plt.figure()
plt.xlim(0, 50)
plt.contourf(x, y, z)
plt.show()

введите описание изображения здесь

Выше plt.xlim(0, 50) использовалось вместо plt.xlim(0,100), чтобы подчеркнуть изменение. Без plt.xlim(0, 50) сюжет выглядит так:

введите описание изображения здесь

person unutbu    schedule 10.12.2012