问题标签 [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 回答
2938 浏览

python-3.x - plotnine:用户警告:在主线程之外启动 Matplotlib GUI 可能会失败

我正在尝试使用 plotnine 生成一些图表。我导入所需的库:

然后,如果我在 PyCharm 中运行以下代码,我会收到一条警告消息,窗口图会显示“No answer”消息,我被迫重新启动 python 终端:

但是,如果我从 windows cmd 终端启动一个 python 终端并运行与以前相同的脚本,我不会收到任何错误消息,并且我可以看到没有问题的图。

发生了什么,如何在 pycharm 中使用 plotnine?

如果需要,我使用 Windows 10 机器和基于 miniconda 的 python 3x 工作。

0 投票
2 回答
542 浏览

python - 当“整洁的数据”不是问题时,如何在 plotnine 中为多条曲线添加图例

当曲线因要绘制的行的选择而不同时,有几个人询问如何在多条曲线中添加图例ggplot2或为多条曲线添加图例。plotnine典型的答案是将数据重新格式化为整洁的数据这里这里这里有一些例子。

我需要多行不是因为对数据进行子集化,而是因为我想比较平滑方法。所有行的数据都相同,因此上述答案无济于事。

后两个答案指出,ggplot2在 R 中,可以通过将说明color符移动到内部来创建图例aes(...)这里有详细描述,和我想做的差不多。

这也应该起作用plotnine吗?我尝试了一个类似于上一个链接的示例。没有图例它工作正常:

没有图例的图表

但是当我为了获得传奇而color搬进去时它失败了:aes

这给出了错误 PlotnineError: "Could not evaluate the 'color' mapping: 'red' (original error: name 'red' is not defined)"

关于如何添加图例的任何建议?谢谢。

0 投票
1 回答
153 浏览

python - 如何根据python中的条件添加geom_point图层

我正在使用plotnine基于 R 的python 包ggplot,我正在尝试创建一个我想要绘制一条线的图,然后,我想添加一个 geom_point 层,如果验证了给定的标准,它只绘制一些点。

所以我有一个数据框,其中包含一个包含实数的变量(即我想要绘制为一条线的变量),然后是一个二进制变量。如果第二个变量的值为 1,我想用第一个变量的值绘制点,如果第二个变量的值为 0,则什么都没有。

我提供了一个小数据框作为示例

我能想到的唯一方法是创建一个辅助数据帧,其值为 a 如果 b=1 和 None 如果 b=0,但这感觉有点笨拙

0 投票
1 回答
743 浏览

python - 使用 Python 的 ggplot2 实现“plotnine”的每小时热图?

我正在尝试从 Python 中创建每小时热图。此处提供了使用 R 制作的此图的代码示例:r-graph-gallery.com/283-the-hourly-heatmap.html。它依赖于ggplot2。

每小时热图

还有一个 ggplot2 的 Python 实现,称为 plotnine:github.com/has2k1/plotnine

任何人都能够从 R 到 Python 的“翻译”?

0 投票
2 回答
980 浏览

python - 在 plotnine 中为 geom_bar 更改每个条的颜色

我正在对单个变量(基于调查响应)进行计数,绘制一些条形图。

我目前正在使用此代码:

这会产生:

在此处输入图像描述

我希望每个酒吧都有不同的颜色。我知道我可以通过添加 [fill="age_cat3"] 来做到这一点,所以:

这会产生:

在此处输入图像描述

这个解决方案有两个问题:

  1. 现在有一个图例,我似乎无法用“scale_color_discrete(guide=False)”删除它

  2. 我似乎无法控制颜色或颜色主题。

任何有关删除图例的建议都会很棒,但理想情况下,无需使用“填充”即可更改条形颜色的某种方式会很棒。

(另外,抱歉图片太大了。我不太清楚如何附加小图片)

可重现的数据:

0 投票
1 回答
321 浏览

python - plotnine中离散x轴的倒序

在python中,我试图颠倒我的x轴的顺序,以便2015在最左边,2019在右边。目标是在我 coord_flip() 绘图之后将 2019 年放在底部。见这里

我尝试使用 scale_x_reverse 但它不支持离散轴。还有其他建议吗?

0 投票
1 回答
830 浏览

python - 如何在 Python 中使用 scale_color_manual?

我已经使用 ggplot 很长时间了,并且在 R 中使用它非常舒服。我现在在 Python 上学,我很难理解这个错误。当我尝试使用 scale_color_manual 手动将颜色分配给我的名为“CellTypeOther”的变量,它的唯一值是 0/1,我不断收到以下错误:

这是我创建ggplot的代码:

没有最后一行,情节渲染得很好。有人对可能发生的事情有任何线索吗?我不能分享我的数据,因为它很敏感。

重要提示:我正在使用 plotnine Python 模块来利用 ggplot2。

0 投票
1 回答
45 浏览

python - 不要在线图中对变量进行排序

我正在尝试为给定区域绘制平均坡度 x 高程图,但我对 plotnine 中的数据排序有点迷失了。数据框有 3 个列:高程(已经从低到高排序)、坡度(无序,必须保持原样)、DEM(用于分组)。在 seaborn 中绘图时,我可以设置sort选项并且效果很好:

海生情节

但是使用plotnine,值是排序的,结果是错误的:

情节九情节

很抱歉没有提供 MVE,但我目前无法发送 DEM。

谢谢

0 投票
1 回答
82 浏览

python - 如何创建累积收入图?

我试图根据客户入职年份(第一笔交易)显示我的客户每年进行交易的累积平均收入。

我想我需要使用groupby,但我想出了达到预期结果的最佳方法。我有一个示例图,我希望复制或(得到类似的东西):

在此处输入图像描述

图上的每一行代表“入职年份”。

我创建了一个玩具数据以使其更容易:

0 投票
1 回答
159 浏览

reticulate - 从R到网状使用python的plotnine创建绘图

作为 R 用户,我正在学习通过在 R 中合并 python 命令reticulate,我尝试使用 R 中的包绘制图形plotnine,但它返回以下错误,有人可以帮忙吗?