Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用plotnine库在Python中绘制函数_Python_R_Plot_Ggplot2_Plotnine - Fatal编程技术网

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

如何使用plotnine库在Python中绘制函数,python,r,plot,ggplot2,plotnine,Python,R,Plot,Ggplot2,Plotnine,我是一个长期的R用户,最近过渡到Python,我一直在尝试将我的绘图知识与ggplot2结合起来,因为它非常直观。被认为是最具ggplot2风格的绘图库,我用它成功地重新创建了大多数图形,除了如何绘制常规函数 在base R中,您可以很容易地定义一个等式,如中所示,将结果输入到stat_function()层中,并设置图形的限制以代替数据参数,并成功绘制抛物线等。但是,在Python中设置图形限制的语法必须不同(可能使用numpy?),并且方程是使用sympy定义的,这对我来说是另一个分歧 那么

我是一个长期的R用户,最近过渡到Python,我一直在尝试将我的绘图知识与ggplot2结合起来,因为它非常直观。被认为是最具ggplot2风格的绘图库,我用它成功地重新创建了大多数图形,除了如何绘制常规函数

在base R中,您可以很容易地定义一个等式,如中所示,将结果输入到
stat_function()
层中,并设置图形的限制以代替
数据
参数,并成功绘制抛物线等。但是,在Python中设置图形限制的语法必须不同(可能使用numpy?),并且方程是使用
sympy
定义的,这对我来说是另一个分歧

那么,我如何使用plotnine来绘制函数呢?以上两个障碍是ggplot2的两个不同之处,我认为这给我带来了麻烦,因为plotnine的在线示例太少了

另外,这是我想使用plotnine在Python中重新创建的示例:

> 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
>库(ggplot2)
>基本图

您不需要numpy,它只需按照“标准”方式工作即可:)


导致我出现问题的主要区别之一与问题中所述的相同。具体而言:

在R aes(x=x)或aes(x)

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

您能提供一些样本数据吗?也许是R中的a?当然,我只是在我的问题中添加了一个编辑。
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))