我计划在 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)
正如评论中提到的,你的大部分问题都应该在这里回答:在 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)
| 归档时间: |
|
| 查看次数: |
115 次 |
| 最近记录: |