问题标签 [plotnine]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
909 浏览

python-3.x - 将回归线方程和 R 方添加到 PLOTNINE

在 plotnine --using 中很容易获得数据的线性最佳拟合stat_smooth(method="gls")。但是,我不知道如何将系数导出到最佳拟合线或 R2 值。R 中的 Ggplot 具有stat_regline_equation()执行此操作的功能,但我在 plotnine 中找不到类似的工具。

目前,我正在使用statsmodels.formula.api.ols来获取这些值,但在 plotnine 中必须有更好的方法。

PS:我是所有编码的新手。

0 投票
4 回答
1877 浏览

python - plotnine 不添加图例

我正在使用 plotnine 在同一个图中绘制两个图表。一张图表使用您将在下面看到的数据框中的“b”值,另一张使用“c”中的值。

我所需要的只是显示一个简单的图例图例,在其中我看到带有相应颜色的“c”和“b”。

0 投票
2 回答
185 浏览

python - 在 plotnine 中绘制多个 lambda 函数以便出现图例的正确方法是什么?

看起来与我正在寻找的答案相当接近,但并不完全存在。也许我没有遵循“整洁数据”原则,并且需要在许多点上评估数据框来绘制这些函数,但我犹豫是否接受它作为答案。

这是绘制我拥有的图表的代码。

但是没有传说……我希望有一个。

(虽然我在python,R用户可能会有很好的建议)

0 投票
1 回答
156 浏览

python - 具有变化比例的 PlotnineAnimation 引发错误:“第 1 帧绘图的填充比例与第一帧的限制不同。”

我正在尝试使用gganimate(R)等效plotnine项(python)。当其中一个情节引入新的美学比例类别时,我遇到了问题,导致控制台抛出错误:The fill scale of plot for frame 1 has different limits from those of the first frame.

这似乎是必须生成所有图的生成器然后将它们粘在一起的结果 - 根据 plotnine 文档(https://plotnine.readthedocs.io/en/stable/generated/plotnine.animation.PlotnineAnimation。 html ). 当我使用gganimate()图书馆时,它足够聪明,可以知道检查所有将被调用的比例并相应地打印完整的比例。

我尝试使用scale_fill_manual()将比例强制到第一个图上作为处理此问题的一种方式,但它不起作用(在 R 或 python 中)。

我正在 plotnine 中寻找解决此问题的方法(如果在 python 中有更好的动画模块,我可以了解,如果有建议)。

这是一个工作示例:

首先在plotnine中尝试:

抛出错误:PlotnineError: 'The fill scale of plot for frame 1 has different limits from those of the first frame.'

如果我在 R 中执行此操作,使用gganimate(),一切正常 - 我从一开始就获得了所有三个色阶:

在此处输入图像描述

当我尝试在第一个情节上强制比例时它不起作用。R中的第一个:

该图仅显示两个色阶 - 尽管明确指出 3 in scale_color_manual()

在此处输入图像描述

然后在 Python 中:

引发有关数组长度错误 ( ValueError: arrays must all be same length) 的错误,这是有道理的:我要求的值和颜色比过滤数据集中的值和颜色多。这意味着我不能让第一帧与第二帧匹配,这是我要解决的错误。

任何人都知道如何使它工作plotnine,它的方式gganimate()吗?此外(虽然不太重要),关于为什么plotnine需要 fill geom_point(),而ggplot2需要 col 的任何想法geom_point()

0 投票
1 回答
737 浏览

python - Plotnine 的比例填充和轴位置

我想将 x 轴移动到绘图的顶部并手动填充颜色。但是,ggplot 中的常用方法在 plotnine 中不起作用。当我提供时position='top',我scale_x_continuous()收到警告:PlotnineWarning: scale_x_continuous could not recognize parameter 'position'.我了解位置不在 plotnine 的 scale_x_continuous 中,但替代品是什么?此外,还会scale_fill_manual()导致Invalid RGBA argument: 'color'错误。具体来说,value需要一个类似数组的对象。因此,我提供了颜色数组,但仍然有问题。如何手动设置 scale_fill 对象的颜色?

0 投票
2 回答
2620 浏览

python - 使用 Plotnine 按排序顺序绘图

我有一个我正在尝试绘制的数据框。我希望数据点在我的图中沿 x 轴以排序顺序出现。我曾尝试在将数据框传递给 ggplot 之前对其进行排序,但是我的订单被忽略了。我的数据如下,我想对'value'属性进行排序。

这是我的代码目前的样子:

这将产生以下图:

1

0 投票
1 回答
376 浏览

python - 将条形之间的统计显着差异添加到 plotnine 图(ggpubr 等效项)

在许多图中,人们希望突出某些结果之间观察到的差异的统计显着性。此任务可以在 R 中使用ggpubr()geom.signif()扩展名来完成。

我的意思的一个例子是在这里(见带星的单杠): https ://www.nature.com/articles/s41598-019-40496-8/figures/1

我正在生成与图中所示完全相同的图,但我的工作流程是基于 python 的,仅仅为此而通过 R 会让我很恼火。我想获得类似于 R 的其他线程中建议的内容,但在 python plotnine 中: Put stars on ggplot barplots and boxplots - 以指示显着性水平(p 值)

据我所知,没有办法用 plotnine 获得这种类型的统计表示。您有解决方法或建议吗?我是否从 plotnine API 中错过了它?

0 投票
0 回答
87 浏览

python - 使用 plotnine 包的问题并退出 Keyerror::KeyError: 'reds'

我正在尝试使用 plotnine 来构建图表,并且在我想要绘图时不断遇到相同的 KeyError 问题。请参阅下面的回溯错误。键错误:'红色'

我的关键代码如下:

0 投票
1 回答
439 浏览

python - 如何在 ggplot/plotnine 中为多条曲线添加图例

这是我用来绘制两条曲线的示例代码。如何将图例添加到情节中?我看到一些帖子建议在aes中添加颜色,但这会引发异常

plotnine.exceptions.PlotnineError:“无法评估‘颜色’映射:‘红色’(原始错误:未定义名称‘红色’)”

0 投票
1 回答
377 浏览

python - 使用 plotnine 和 pandas 绘制来自不同数据集的数据

首先,我认为提供一些关于我想做的事情的背景会很有帮助。我有一个时间序列数据集,它描述了一个地区的空气质量,具有小时分辨率。每一行都是一个观察值,每一列是一个不同的参数(例如温度、压力、颗粒物等)。我想在整个五年数据集中对一天中每个小时的观察值取平均值。但是,我首先需要区分夏季和冬季观察。这里有几行供参考:

我尝试根据季节将数据集分成两部分,并分别绘制。这可行,但我无法使情节显示为图例。

使用单独的数据框进行绘图:[1]:https ://i.stack.imgur.com/W75kk.png

我做了更多的研究,并了解到 plotnine/ggplot 可以根据数据点的一个属性对数据点进行颜色编码。这种方法要求数据是单个数据集,所以我添加了一个指定季节的参数。但是,当我按小时分组时,会删除此“季节”属性。我认为这是因为你不能取非数字数据的平均值。因此,我发现自己有点自相矛盾。这是我尝试将数据保持在一起并添加“季节”列:

当我尝试运行它时,它会引发以下问题,如果我检查数据框,所有非数字参数都已被删除:

任何建议将不胜感激。