Как построить график функции в Python с использованием библиотеки plotnine
Итак, я давний пользователь R, недавно перешел на Python, и я пытался перенести свои знания в области черчения с помощью ggplot2, поскольку он настолько интуитивно понятен. Plotnine, предположительно, является самой ggplot2-esque библиотекой для построения графиков, и я успешно воссоздал с ней большинство графиков, за исключением критически важных способов построения регулярных функций.
В базе R вы можете легко определить уравнение, например, ввести результат в stat_function()
слой, и установите границы графика вместо data
и успешно построить параболу или тому подобное. Тем не менее, синтаксис для установки границ графа должен быть другим в Python (возможно, с использованием Numpy?), А уравнения определяются с помощью sympy
, что является еще одним расхождением для меня.
Итак, как бы я пошел о построении функций с помощью plotnine? Вышеупомянутые два препятствия - это два отличия от ggplot2, которые, как мне кажется, доставляют мне неприятности, и я был бы признателен за любую помощь по этому вопросу, так как plotnine имеет так мало примеров в Интернете.
PS Это пример того, что я хочу воссоздать в Python, используя plotnine:
> library(ggplot2)
> basic_plot <- function(x) x^2 + 2.5
> graph <- ggplot(data.frame(x=c(-5,5)), aes(x=x)) +
+ stat_function(fun = basic_plot)
> graph
2 ответа
Вам не нужно NumPy, он работает просто отлично "стандартным" способом!:)
from plotnine import *
import pandas as pd
(ggplot(pd.DataFrame(data={"x": [-5, 5]}), aes(x="x"))
+ stat_function(fun=lambda x: x**2+2.5))
Одно из главных отличий, которое вызывало у меня проблемы, было таким же, как и в вопросе. В частности:
в R aes(x = x) или aes(x)
в сюжетных линиях (х = 'х')