如何使用 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')
我是 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')