
Резюме
- Python позволяет свободно создавать графики, в отличие от дорогих и неэффективных графических калькуляторов.
- Импортируйте NumPy и Matplotlib для построения базовых линейных и полиномиальных графиков на Python.
- Seaborn позволяет вам бесплатно создавать статистические графики, такие как столбчатые диаграммы, гистограммы и регрессии, с помощью Python.
Графические калькуляторы удобны на курсах математики и естественных наук, но они дороги для категории, которая практически не изменилась с момента их появления в 1985 году. Python позволяет вам создавать графики простых уравнений и статистические графики бесплатно с помощью соответствующих библиотек.
Базовые графики с NumPy и Matplotlib
С помощью Python легко создавать базовые линейные и полиномиальные графики. Одним из преимуществ является то, что они будут отличаться от базовых калькуляторов, предлагающих только монохромные экраны, в сравнении с тем, как графические калькуляторы застоялись, что-то, что XKCD указал. Лучший способ сделать это — запустить Python в терминале или в блокноте Jupyter. Если вы используете терминал, я рекомендую использовать IPython, так как он имеет много функций для облегчения интерактивного использования и является основой для использования Python в Jupyter.

Чтобы импортировать NumPy в сеанс или скрипт Python, просто используйте эту команду:
импортировать numpy как np
Сокращение команды облегчит ее ввод.
Вам также необходимо импортировать библиотеку построения графиков Matplotlib. Это также легко сделать:
импортировать matplotlib.pyplot как plt
Если вы работаете в блокноте Jupyter, любые созданные вами графики будут отображаться в отдельном окне, а не в блокноте. Вы можете изменить это на встроенное отображение с помощью «волшебной команды»:
% matplotlib встроенный
Закончив с этими предварительными действиями, мы можем определить уравнения для построения графика.
Чтобы построить линейное уравнение, помните, что форма наклона-пересечения имеет вид y = mx + b, где «m» — наклон или крутизна линии, а «b» — точка пересечения с осью y, где она пересекает ось y или вертикальную ось на двумерной плоскости.
Мы настроим нашу ось x с помощью команды np.linspace, которая настроит равномерно распределенный массив значений. Эта команда настроит ось x из 50 точек данных между -10 и 10:
np.linspace(-10,10)
Мы сохраним наклон в переменной. Мы могли бы поместить его прямо в формулу, но использование переменных позволит нам легче изменять значения. Мы будем использовать переменную «m» для нашего наклона, который будет равен 3.5:
м = 3.5
Мы будем использовать «b» для пересечения с осью Y:
б = 5
Ось Y умножит каждое значение x на наклон и добавит точку пересечения с осью X: y
у = м*х + б
Теперь построим наш сюжет:
plt.plot(x,y)
plt.сетка()

Команда plt.plot() вызывает Matplotlib для построения графика значений x и y, а команда plt.grid() создает сетку позади графика, чтобы мы могли более четко видеть оси.
Вы можете построить квадратное уравнение, используя аналогичный метод. Классическое квадратное уравнение — это ax² + bx + c. Мы можем задать переменные для a, b и c, а также создать ось x:
x = np.linspace(-10,10)
a = 1
б = 2
с = -3
у = а*х**2 + б*х + с
plt.plot(x,y)
plt.сетка()

В то время как в алгебре подразумевается умножение, например, «ax», в Python его нужно явно определить. Например:
а * х
** также является оператором экспоненты в Python. Поэтому x² в Python записывается как x**2.
Полиномы более высоких степеней, такие как кубические (возведенные в куб) и четвертые (возведенные в четвертую степень), работают аналогичным образом.
Создание графиков алгебраическим способом с помощью Sympy
Альтернативой использованию NumPy является SymPy, библиотека компьютерной алгебры для Python. SymPy работает с символами так же, как числовой калькулятор или обычная программа Python работает с числами. Для построения графиков NumPy предлагает более лаконичный способ определения уравнений, похожий на то, как вы работаете с ними с помощью карандаша и бумаги.
Вы можете установить SymPy с помощью pip:
пип установить симпи
Чтобы работать с SymPy, вам нужно импортировать его и определить символические переменные. SymPy включает скрипт isympy, который вы можете запустить из терминала, который загружает его и определяет некоторые общие переменные, такие как x и y, настраивает pretty-printing, а затем запускает интерактивный сеанс. Вы также можете настроить его в Jupyter Notebook или обычном интерактивном сеансе Python:
из симпи импорт *
х = символы(‘х’)
init_printing()
Это говорит Python импортировать SymPy в основное пространство имен, определить символическую переменную x и настроить «красивую печать». Это сделает вывод более похожим на учебник по математике. Символические переменные должны быть определены, прежде чем вы сможете использовать их с SymPy.
Мы можем использовать обычные переменные для коэффициентов, как мы делали это с NumPy. Давайте построим график линейного уравнения, полученного ранее, с помощью SymPy:
м = 3.5
б = 5
график(м*х + б,(х,-10,10))

Функция plot создает 2D-график с формой уравнения «наклон-пересечение», а часть (x,-10,10) определяет диапазон графика между значениями x от -10 до 10. Это также будет диапазоном по умолчанию, если вы пропустите этот раздел. Обратите внимание, что оси находятся прямо на графике.
Не забудьте закрыть все скобки. IPython и Jupyter помогут вам, подсветив скобки при их вводе.
Квадратичные уравнения и другие многочлены работают одинаково:
a = 1
б = 2
с = -3
график(a*x**2 + b*x + c,(x,-10,10))

Создание статистических графиков
Помимо построения линий и кривых, Python можно использовать для построения статистических графиков. Конечно, вы можете сделать это в электронной таблице, например Excel, LibreOffice Calc или Google Sheets, но я считаю, что вывод выглядит лучше, чем при использовании электронной таблицы.
В этом разделе мы воспользуемся библиотекой Seaborn, о которой я уже рассказывал ранее, для визуализации статистических данных с помощью Python так же, как это делается с помощью графического калькулятора в классе статистики.

Вы можете установить его с помощью pip:
Пип установить Seaborn
Давайте импортируем Seaborn в нашу сессию IPython или блокнот Jupyter.
импорт морского как sns
Как и в случае с NumPy ранее, импорт таким способом позволит сэкономить на вводе текста.
Seaborn имеет несколько наборов данных, с которыми можно поиграться. Мы будем использовать набор данных чаевых в ресторанах Нью-Йорка:
советы = sns.load_dataset(‘советы’)
Мы можем просмотреть столбцы нашего набора данных, который находится в формате Pandas dataframe, похожем на электронную таблицу, с помощью функции head():
советы.head()

Вы даже можете импортировать собственные данные электронной таблицы из Excel или другой программы. Например, чтобы прочитать файл CSV:
импорт панд в виде pd
данные = pd.read_csv(«/путь/к/данным.csv»)
Загрузив данные, мы можем начать их просматривать. Чтобы увидеть простую столбчатую диаграмму общего счета по дням недели, используйте функцию catplot:
sns.catplot(x=’день’,y=’общий_счет’,вид=’бар’,данные=tips)

Еще один полезный график — гистограмма, которая показывает распределение данных. Чтобы увидеть наиболее частые суммы чаевых, используйте функцию displot:
sns.displot(x=’tip’,data=tips)

Диаграмма ящиков, или, точнее, диаграмма ящиков и усов, поможет вам визуализировать диапазон ваших данных. Давайте снова посмотрим на общий счет, но изменим вид с гистограммы на диаграмму ящиков:
sns.catplot(x=’день’,y=’общий_счет’,вид=’ящик’,данные=tips)

В прямоугольниках показаны средние 50% или медиана каждой категории, представленные линией посередине, в то время как линии вверху и внизу, «усы», представляют собой максимальные и минимальные значения.
Эффективный способ рассмотрения данных — диаграммы рассеяния и регрессия. Диаграмма рассеяния сравнивает независимую переменную на оси x с зависимой переменной на оси y, чтобы увидеть, есть ли связь.
Давайте посмотрим, как чаевые в ресторане соотносятся с общей суммой счета.
sns.relplot(x=’total_bill’,y=’tip’,data=tips)

Обратите внимание, как значения, кажется, выстраиваются вдоль прямой линии? Мы можем визуализировать это с помощью линии регрессии, используя функцию regplot. По сути, это «relplot», измененный на одну букву:
sns.regplot(x=’total_bill’,y=’tip’,data=tips)

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