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

标签 python r plot ggplot2 plotnine

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

在基础 R 中,您可以轻松定义一个方程,如 so ,将结果输入到 stat_function() 层,并设置图形的限制代替 data arg.,并成功绘制抛物线等。然而,在 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

最佳答案

您不需要 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))

enter image description here

关于python - 如何使用 plotnine 库在 Python 中绘制函数图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48349713/

相关文章:

Python doctest 不能在名为 signal.py 的文件上运行

python - 在 Flask 应用程序下使用 jinja2 获取列表元素

从 r 中的列中删除重复的元素

r - 绘图回归线 R

r - plotly 上没有创建线性趋势线

python - 防止 Pandas read_csv 截断完整时间戳

python - pyspark在某些条件下选择窗口上的第一个元素

r - 如何将一列字符串转换为因子列表,使用正则表达式过滤值

python - Matplotlib 工作流程

r - ggplot sec_axis 我可以使用向量作为反式公式吗?