Как правильно масштабировать графики и векторные поля на одном графике?[странные весы] - PullRequest
0 голосов
/ 01 декабря 2018

Я новичок в matplotlib и пытаюсь построить 2 графика и одно векторное поле на них на одном графике.

Когда я запустил приведенный ниже код, я столкнулся с некоторыми проблемами масштабирования.Я предполагаю, что это связано с неопределенной осью y на графиках, но я не мог понять, как построить их с помощью y.Когда я определяю интервал y, я получаю очень странные картинки.Мне нужны картинки высокого разрешения [0,7], [0,7] для графиков и векторных полей.Когда я запустил приведенный ниже код, я получил результаты по отрицательной оси Y, которые я не хочу строить.

Мне также интересно, как я могу сделать этот сюжет больше и с более высоким разрешением.Размер текущего изображения довольно маленький.

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec

#graphs
a=1
b=1
x= np.mgrid[0:6:15j]   #problematic part I assume
k = b/(a*x)
l = (-1 + (b+1)*x) / (a*(x**2))

ca =plt.plot(x, k, x,l)
#Vector Field,Quiver 
Y, X = np.mgrid[0:6:12j, 0:6:12j]

U = 1- (b + 1)* X + ( a*(X**2) * Y)
V = (b * X) - (a * X**2 * Y)

speed = np.sqrt(U**2 + V**2)
UN = U/speed
VN = V/speed

quiv = plt.quiver(X, Y, UN, VN, 
           color='Black', 
           headlength=5)
plt.show()

1 Ответ

0 голосов
/ 01 декабря 2018

Когда я запускаю ваш код, я получаю предупреждения во время выполнения для деления на ноль, что превращает первое значение k в бесконечное, а l-бесконечное.не уверен, что это ваша проблема, что именно вы подразумеваете под масштабированием проблем?Вы хотите, чтобы график был сфокусирован на определенном диапазоне x и y?вы обычно используете plt.xlim и plt.ylim для такого рода вещей.попробуйте добавить что-то вроде этого:

plt.ylim((-0.2,6.2))

, если вы запускаете это из командной строки, вы также сможете изменить размер графика вручную (просто перетаскивая угол окна) и сохраните его.график, для увеличения изображения.если вам нужно еще более высокое разрешение или более точное управление, воспользуйтесь функцией savefig .Вы можете позвонить до запуска show ().

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