Построение графика тангенса python

Графики функций и поверхностей в Python Питон Matplotlib

Построение графиков с помощью модуля Matplotlib в Python Питон.

В этом уроке мы разберём, как строить графики функций с помощью модуля Matplotlib в Python Питон.
Matplotlib это библиотека для Python, предназначенная для визуализации данных. В данном уроке мы разберём построение графиков функций в Питон на плоскости и построение поверхности в трёхмерном пространстве. Зачастую, именно Matplotlib используется в научных исследованиях и конференциях для демонстрации полученных данных.
Для построения графиков нужно импортировать модуль Pyplot. Pyplot это модуль для работы с графиками в Питоне. Pyplot это набор команд, созданных для построения графиков функций и уравнений. Для удобного построения графиков так же нужно использовать библиотеку NumPy.
Matplotlib, как и NumPy, встроен в среду разработки Spyder, поэтому их можно импортировать без предварительной установки.
import numpy as np
import matplotlib.pyplot as plt
as np и as plt означает, что когда мы будем вызывать функции и процедуры из модулей, вместо названия модулей мы будем использовать np и plt .
Для построения графика функции в Python нужно задать саму функцию. Её можно задать с помощью лямбда-функции. Лямбда-функция — это краткий способ записи обычной функции в одну строчку. В этом уроке мы рассмотрим построение синусоиды на Питоне. Синусоида задаётся функцией f(x) = sin(x) .
y = lambda x: np.sin(x)
y это обозначение функции (для её вызова мы будем использовать y(x) ), lambda это ключевое слово, обозначающее начало задания лямбда-функции, x это аргумент, использующийся в функции, после двоеточия задаётся функция. Так как в стандартном Python нет функции, возвращающей синус x , мы его задаём с помощью NumPy, его мы импортировали под именем np .
Все действия в Pyplot производятся на рисунках. Для построения графика функции в Python нужно сначала задать сетку координат. Сетка координат в python задается с помощью команды plt.subplots().
fig = plt.subplots()
Мы должны определить область значений, на которой мы будем строить график функции в Питоне. Это делается с помощью linspace .
x = np.linspace(-3, 3, 100)
linspace создаёт массив с нижней границей -3 и верхней границей 3 , в созданном массиве будет 100 элементов. Чем больше будет последнее число, тем больше значений функции будет рассчитываться, тем точнее будет отображаться график в Python.
После того, как мы создали систему координат, область построения, мы можем построить график в Питон. Для построения графика фуекции в Python нужно использовать команду plt.plot(x, y(x)) , где x это аргумент, y(x) это функция от x , заданная с помощью лямбда-выражения.
plt.plot(x, y(x))
После того, как мы построили график в Python, нужно показать его на рисунке. Для этого используется plt.show() .
Полный код программы на python для рисования графика функции
# импортируем модули
import numpy as np
import matplotlib.pyplot as plt
# функция
y = lambda x: np.sin(x)
# создаём рисунок с координатную плоскость
fig = plt.subplots()
# создаём область, в которой будет
# — отображаться график
x = np.linspace( -3, 3, 100)
# значения x, которые будут отображены
# количество элементов в созданном массиве
# — качество прорисовки графика
# рисуем график
plt.plot(x, y(x))
# показываем график
plt.show()

Читайте также:  How to add links in CSS

Получим график синусоиды в python в отдельном окне

график функции на Python

Отображение нескольких графиков на одном рисунке в Python

В одной области в python можно отобразить графики нескольких функций. Добавим aeyrwb. y=x и нарисуем ее совместно с синусоидой.
Для этого введем еще одну функцию с помощью lambda
y1=lambda x: x
Построим график этой функции
plt.plot(x,y1(x))
В итоге программа в Python для построения графиков двух функций в одном окне

# импортируем модули
import numpy as np
import matplotlib.pyplot as plt
# функция
y = lambda x: np.sin(x)
y1=lambda x: x
# создаём рисунок с координатную плоскость
fig = plt.subplots()
# создаём область, в которой будет
# — отображаться график
x = np.linspace(-3, 3,100)
# значения x, которые будут отображены
# количество элементов в созданном массиве
# — качество прорисовки графика
# рисуем график
plt.plot(x, y(x))
plt.plot(x,y1(x))
# показываем график
plt.show()

построение графика двух функций в python

Трехмерные поверхности в Python

В трёхмерном пространстве каждая точка задаётся тремя координатами, следовательно, в трёхмерном пространстве нужно два аргумента для задания функции. В этом уроке по Питону мы зададим функцию
f(x,y)=x^2-y^2
от двух аргументов. Аргументы x и y , функция z .
f = lambda x, y: x ** 2 — y ** 2
Чтобы начать рисовать трехмерные поверхности в Python нужно сначал задать область построения с помощью функции plt.figure принимает параметр figsize(x, y) , где x и y – ширина и высота рисунка в дюймах. Создадим рисунок в Python размером 12×6 дюймов для отображения графиков
fig = plt.figure(figsize = (12, 6))
В построенной области мы создадим рисунок, в котором будут отображено трёхмерное пространство с координатными осями и сама поверхность. В Питоне для этого используется fig.add_subplot() .
ax = fig.add_subplot(1, 1, 1, projection = ‘3d’)
Функция в Python fig.add_subplot() разбивает область построения на клетки и задает в какой клетке рисовать трехмерный график. Так команда ax = fig.add_subplot(1, 1, 1, projection = ‘3d’) разбивает область построения на две клтки и в первую клетку будет отображаться трехмерный гарфик, благодаря аргументу projection = ‘3d’
Введём области отображения функции для каждого аргумента в Питон.
xval = np.linspace(-5, 5, 100)
yval = np.linspace(-5, 5, 100)
Нужно создать поверхность, которая будет отображаться на рисунке в Python. Для этого используется
surf = ax.plot_surface(x, y, z, rstride = 4, cstride = 4, cmap = cm.plasma)
Где x и y это принимаемые аргументы, z это получаемая функция, rstride и cstride отвечает за шаг прорисовки поверхности в Питон, чем меньше будут эти значения, тем более плавно будет выглядеть градиент на поверхности. С помощью cmap.plasma поверхность будет отображаться с цветовой схемой plasma . Например, существуют цветовые схемы, такие как viridis и magma . Полный список цветовых схем есть на сайте Matplotlib.
Пример программы на Python построение поверхности в трёхмерном пространстве # импортируем модули
from mpl_toolkits.mplot3d import Axes3D
import numpy as np
from matplotlib import cm
import matplotlib.pyplot as plt
# уравнение поверхности
f = lambda x, y: x ** 2 — y ** 2
# создаём полотно для рисунка
fig = plt.figure(figsize = (10, 10))
# создаём рисунок пространства с поверхностью
ax = fig.add_subplot(1, 1, 1, projection = ‘3d’)
# размечаем границы осей для аргументов
xval = np.linspace(-4, 4, 100)
yval = np.linspace(-4, 4, 100)
# создаём массив с xval столбцами и yval строками
# — в этом массиве будут храниться значения z
x, y = np.meshgrid(xval, yval)
# приравниваем z к функции от x и y
z = f(x, y)
# создаём поверхность
surf = ax.plot_surface(
# отмечаем аргументы и уравнение поверхности
x, y, z,
# шаг прорисовки сетки
# — чем меньше значение, тем плавнее
# — будет градиент на поверхности
rstride = 10,
cstride = 10,
# цветовая схема plasma
cmap = cm.plasma)

Читайте также:  Pass value post php

Получим график трехмерной поверхности в цветовой гамме в специальном окне

график трехмерной поверхности в python

Изменим параметры построения трехмерной поверхности, уменьшим размер сетик, сделаем поверхность более плавной и точной для этого уменьшаем параметры и сменим цветовую гамму на viridis

rstride = 2,
cstride = 2,
cmap = cm.viridis)

Получим график трехмерной поверхности в Python более точный и в другой цветовой гамме

трехмерная поверхность в Python

Источник

Как вычислить и построить график функции тангенса в python?

Язык программирования Python

Для получения тангенса заданного угла можно воспользоваться библиотекой math.

import math angle = 0 result = math.tan(angle) print(result)
Code language: JavaScript (javascript)

Примечание: функция tan предполагает, что угол задан в радианах. Чтобы преобразовать градусы в радианы в python, одним из решений является использование math.radians():

import math angle = 45 # угол в градусах angle = math.radians(angle) # угол в радианах result = math.tan(angle) print(result)
Code language: PHP (php)
import math angle = math.pi / 6 result = math.tan(angle) print(result)
Code language: JavaScript (javascript)
0.5773502691896256
Code language: CSS (css)

Примечание: чтобы округлить число float в python, одним из решений является использование round():

import math angle = math.pi / 6 result = round(math.tan(angle), 2) print(result)
Code language: JavaScript (javascript)

В результате вы получаете:

Постром функцию касательной

import matplotlib.pyplot as plt import numpy as np import math angle_min = - 2.0 * math.pi angle_max = 2.0 * math.pi res = 0.01 angle_list = [a for a in np.arange(angle_min,angle_max,res)] angle_tan_list = [math.tan(a) for a in angle_list] plt.plot(angle_list, angle_tan_list) plt.title("Вычислление тангенса для заданного угла",fontsize=12) plt.ylim(-10,10) plt.savefig("tangent_function.png", bbox_inches='tight', dpi=100) plt.show()
Code language: JavaScript (javascript)

После запуска кода получим:

Источник

ryanorsinger / plot_tan_x_with_matplotlib.py

This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters

Читайте также:  Тег FORM, атрибут accept-charset
import matplotlib . pyplot as plt
import numpy as np
import math
# .linspace arguments are (start, end, number_of_steps)
x = np . linspace ( — 2 * math . pi , 2 * math . pi , 1000 )
y = np . tan ( x )
# This operation inserts a NaN where the difference between successive points is negative
# NaN means «Not a Number» and NaNs are not plotted or connected
# I found this by doing a search for «How to plot tan(x) in matplotlib without the connecting lines between asymtotes»
y [: — 1 ][ np . diff ( y ) < 0 ] = np . nan
# show grid
plt . grid ()
plt . xlabel ( «x» )
plt . ylabel ( «$tan(x)$» )
# Set the x and y axis cutoffs
plt . ylim ( — 10 , 10 )
plt . xlim ( — 2 * math . pi , 2 * math . pi )
# x_labels in radians
# For a more programmatic approach to radians, see https://matplotlib.org/3.1.1/gallery/units/radian_demo.html
radian_multiples = [ — 2 , — 3 / 2 , — 1 , — 1 / 2 , 0 , 1 / 2 , 1 , 3 / 2 , 2 ]
radians = [ n * math . pi for n in radian_multiples ]
radian_labels = [ ‘$-2\pi$’ , ‘$-3\pi/2$’ , ‘$\pi$’ , ‘$-\pi/2$’ , ‘0’ , ‘$\pi/2$’ , ‘$\pi$’ , ‘$3\pi/2$’ , ‘$2\pi$’ ]
plt . xticks ( radians , radian_labels )
plt . title ( «$y = tan(x)$» , fontsize = 14 )
plt . plot ( x , y )
plt . show ()

Источник

Оцените статью