将 Plumbr 与在 Python 脚本中使用 R 制作图表的其他选项进行比较

Cau*_*der 7 python r ggplot2

我计划在 python 脚本中使用 ggplot 制作图表。这些是有关该项目的详细信息:

  • 我有一个在远程机器上运行的脚本,我可以在机器上合理地安装任何东西

  • 该脚本在 python 中运行,并具有我想可视化存储为字典的数据

  • 脚本每天运行,数据始终具有相同的结构

我认为我最好的选择是这样做......

  • 编写一个 R 脚本来获取数据并创建 ggplot 可视化

  • 使用plumbr为我的脚本创建一个 rest API

  • 向其余 API 发送调用并获取我的绘图的 PNG 作为回报

我也熟悉yhat的 ggpy,我什至想知道我是否可以在机器上安装 R,然后直接将代码发送到机器进行处理,而无需 RStudio。

plumbr 会是推荐的和安全的实现吗?

这是一个可重复的例子-

my_data = [{"Chicago": "30"} {"New York": "50"}], [{"Cincinatti": "70"}, {"Green Bay": "95"}] 

**{this is the part that's missing}**

library(ggplot)
my_data %>% ggplot(aes(city_name, value)) + geom_col()

png("my_bar_chart.png", my_data)
Run Code Online (Sandbox Code Playgroud)

Big*_*ist 5

正如评论中提到的,你的大部分问题都应该在这里回答:在 Python 中使用 R 和 Rpy2: how to ggplot2? .

您可以使用以下命令加载 ggplot:

import rpy2.robjects.packages as packages
import rpy2.robjects.lib.ggplot2 as ggp2
Run Code Online (Sandbox Code Playgroud)

当然,假设您有可用的 ggplot2 + 依赖项。

然后你几乎可以使用 R 语法,除了你把ggp2.每个命令放在前面。

例如:Python 等效项ggplot(mtcars)将是ggp2.ggplot(mtcars).

您的示例:(未测试)

my_data = [{"Chicago": "30"} {"New York": "50"}], [{"Cincinatti": "70"}, {"Green Bay": "95"}] 

import rpy2.robjects.packages as packages
import rpy2.robjects.lib.ggp2 as ggp2

plot = ggp2.ggplot(my_data) + 
  ggp2.aes(city_name, value)) + 
  ggp2.geom_col()

plot.plot()

R("dev.copy(png, 'my_data.png')")
Run Code Online (Sandbox Code Playgroud)