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

python - Python使用plotnine绘制带有时间戳(小时)的数据

我有以下数据框:

数据框告诉我point在哪个时间timestamp_local有多少连接。这0是我拥有的连接数。

我现在想使用plotnine库绘制这些数据。当我使用没有时间的时间戳时,我已经完成了这项工作,例如2019-07-20. 但是当我使用带有时间的时间戳时,例如2019-07-20 00:00:00它不起作用。

这是我的 python 命令来绘制没有时间的数据:

这将返回一个数字,我可以在其中看到按点分组的每天计数。 在此处输入图像描述

我现在有两个问题:

  1. 如何在使用时间戳时绘制相同的结果2019-07-20 01:00:00(数据超过几天。所以我不能只是截断日期!)
  2. 如何绘制按月和年分组的相同结果?(例如2019-07, 2019-08,2019-09等等...)

我非常喜欢该plotnine库的解决方案,因为我以后想使用更多的功能,例如平滑等。如果图书馆不可能,plotnine我想要一个图形,其中每个点都有一条线,颜色不同,图形相同!如上图,红色为A点,蓝色为B点。

亲切的问候

0 投票
1 回答
296 浏览

python - 对于 Python 的 plotnine,如何通过每个方面的总计数获得计数百分比

我试图获得一个密度图,以显示每个方面的总数的计数百分比。

例如,我有这个密度图:密度图

由这段代码产生:

如您所见,列的高度总和不等于 1。

如何确保每列的高度对应于每个方面的计数百分比。

例如使用方面(NSW,Construction)作为示例。现在这是一个计数图:

频率图

NSW/Construction 方面的总和为 3760。第 1、第 2...第 5 列中的计数分别为 350、950、1630,630 和 200 我希望这些列显示:

  • 第一列 = 350/3760 = 9%
  • 第二列 = 950/3760 = 25%%
  • 第三列 = 1630/3760 = 43%
  • 第 4 列 = 630/3760 = 17%
  • 第 5 列 = 200/3760 = 5%

我尝试使用aes(y='..count../sum(..count..)'),但这让我计算了整个人口,而不是每个方面的人口

请帮忙。

0 投票
1 回答
293 浏览

python - Python-ggplot:将移动平均线添加到绘图中

这是我当前的代码,用于从包含英格兰 COVID-19 病例的 DataFrame 中绘制图表,然后将其保存。我正在尝试添加类似于 Worldometer 图表的趋势线(如下所示)。

我还不能发布图片,所以我将在此处提供示例。

这就是我的图表目前的样子。

我正在努力实现“3 天移动平均线”“7 天移动平均线”

0 投票
1 回答
85 浏览

python - Plotnine 为 DataFrame 中的每个条目打印一行

我有以下数据集:

当我运行pn.ggplot(df, pn.aes(x="time", y="value", colour="variable")) + pn.geom_point(stat="identity") + pn.theme(axis_text_x = pn.element_text(angle=90))它时,它给了我这个情节:

在此处输入图像描述

geom_line当我用而不是运行 plotnine 线时,geom_point我得到了这个图: 在此处输入图像描述

但这不是我想要的!MyDataFrame包含从2018-08-01到 的许多值2018-08-31。该列time是每天的时间,独立于它发生的日期。我现在的目标是为每个time. 所以我会得到96行。为什么是96?因为我有 15 分钟的间隔,而一天有 24 小时 -> 24 * 4 = 96

这个情节应该分组,variable所以我知道这variable条线属于哪条线。我怎样才能做到这一点?

这就是我最后想要的。我想按时间和价值每天有一条线。颜色应该说明变量!看一下 x 轴,这是从 0 到 24,因为一天有 24 小时。列时间为我们提供了一天中的时间!

在此处输入图像描述

亲切的问候

0 投票
1 回答
229 浏览

python - Plotnine 组 facet_grid 标签

使用 plotnine 的facet_grid功能时有没有办法对标签进行分组?

例如,采用以下 DataFrame(我制作了示例,以便您可以重现我的问题。实际上,我的 DataFrame 要大得多,但结构几乎相同):

我创建了以下函数来根据速率、样本量和模型绘制绝对度量:

结果图如下所示:

在此处输入图像描述

在标记 facet_grid 时,有没有办法对模型名称(模型 1、模型 2、模型 3、模型 4)和 rate_4 进行分组?我正在寻找一个结果,使得“列”的名称如下所示(我使用 Excel 进行说明):

在此处输入图像描述 谢谢!

0 投票
1 回答
292 浏览

python - 使用 Plotnine 拟合非线性曲线

这是为一些用户定义的指标生成线性曲线的工作示例。在此处输入图像描述.

我怎样才能让它适应非线性曲线?

PS 当数据值更多时,非线性曲线很容易,我可以更改lmloess使其工作。但这里的数据条目较少。另外,我无法使 stat_smooth 方法起作用。我正在尝试以下内容:

任何帮助将不胜感激。

0 投票
2 回答
181 浏览

python - 用 Plotnine 绘制最小和最大间隔?

目前我可以用 matplotlib 绘制一个最小和最大间隔,但是我希望对 plotnine 库做同样的事情,这可能吗?我正在尝试但没有成功

Matplotlib 代码

在此处输入图像描述

尝试 Plotnine 代码

0 投票
1 回答
202 浏览

python - 用 plotnine 绘制数据框

我目前有一个如下所示的表格,但是我试图用 plotnine 绘制一个最小和最大间隔,我试图以更有序的顺序绘制它,因为它是一团糟。目前我正在按我的数据的“真实”列进行排序,但这似乎没有任何效果。

数据框

在此处输入图像描述

代码

电流输出:

在此处输入图像描述

期望的输出:

在此处输入图像描述

使用:

在此处输入图像描述

0 投票
1 回答
444 浏览

python - plotnine:如何字幕?

我有一个情节,我想将“来源:JHU”这一行变成标题。在plotnine 的 github中,有一些开放的和关闭的一些问题

我注意到如果我将轴标签向右移动并减小字体大小,我可以近似于我想要的。对于字体大小,我想我可以摆脱element_text。但是,我无法弄清楚如何使轴标签出现在右下角。有人知道吗?

提前致谢...

0 投票
1 回答
274 浏览

python - plotnine,当缺少值时,保持 geom_bar(position='dodge') 的相同位置

这个最小的代码

由于缺失值,生成以下不正确的条形图。 条形图位置不正确

如何让名称two和变量的栏b位于正确的位置(在twox 轴刻度的右侧)? 我想要的可视化