如何使用 plotnine 库绘制 Python 中的函数

How to graph a function in Python using plotnine library

我是 R 的长期用户,最近过渡到 Python,并且我一直在尝试继承我使用 ggplot2 绘图的知识,因为它非常直观。 Plotnine 被认为是最像 ggplot2 的绘图库,我已经用它成功地重新创建了大多数图形,但关键是如何绘制常规函数。

在 base R 中,您可以轻松地定义一个方程,如 so,将结果输入 stat_function() 层,并设置图形的极限来代替 data arg.,并成功绘制抛物线等。然而,设置图形限制的语法在 Python 中必须不同(可能使用 numpy?),并且使用 sympy 定义方程,这对我来说是另一个分歧。

那么我将如何使用 plotnine 绘制函数?上面两个坎就是我觉得和ggplot2的两个不同点给我带来的麻烦,因为plotnine网上的例子太少了。

P.S。这是我想在 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

您不需要 numpy,它以 "standard" 的方式工作得很好! :)

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)

在情节九 aes(x = 'x')