Как сместить график в точку -4 matplotlib?

У меня есть функция, которая отрисовывает кривую распределения

head = 0.4 / otkl
left = mexp - 3 * otkl
right = mexp + 3 * otkl
arr = np.arange(left, right, 0.001)
plt.plot(arr, norm.pdf(arr, 0, 1))
plt.show()

Так вот, мне надо сделать так, чтобы график начинал строиться не из точки x=0, а из точки x=-4 (ну в данном случае). Как это можно сделать? Также интересно, как можно задать высоту графика?


Ответы (2 шт):

Автор решения: CrazyElf

Поскольку в вашем коде есть две неизвестных величины otkl и mexp, я просто выставил их в такие значения, чтобы left получилось -4. И не совсем понятно, что вы имели в виду под "выставить высоту фигуры" - сделать другие значения шкалы или сам график сделать другого размера? Если график другого размера, то через plt.figure:

import numpy as np
from scipy.stats import norm
import matplotlib.pylab as plt

plt.figure(figsize=(3,5))
otkl = 1
mexp = -1
head = 0.4 / otkl
left = mexp - 3 * otkl
right = mexp + 3 * otkl
arr = np.arange(left, right, 0.001)
plt.plot(arr, norm.pdf(arr, 0, 1))
plt.show()

norm-pdf

→ Ссылка
Автор решения: Resistance杀杀杀

Вообщем суть была в том, что в документации я проглядел (или там реально не было) параметр отклонения

@staticmethod
    def paint_normal_distribution(mexp, otkl):
        """
        Строит график кривой нормального распределения
        """
        head = 0.4 / otkl
        left = mexp - 3 * otkl
        right = mexp + 3 * otkl
        arr = np.arange(left, right, 0.001)
        plt.plot(arr, norm.pdf(arr, mexp, otkl))
        print("Левая граница = {}, правая граница = {}, высота = {}".format(left, right, head))
        plt.show()

mexp - мат. ожидание смещает график на определённую позицию по x otkl - отклонение, как раз показывает, на сколько график должен быть ограничен по высоте

→ Ссылка