You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R脚本中用reticulate调用pandas绘制散点图?

如何用reticulate在R脚本中调用pandas绘制散点图?

原Python实现代码

import pandas as pd
data = {'col1': [1,2,3,4,5],
        'col2': [6,7,8,9,10]}
df = pd.DataFrame(data)
df.plot.scatter(x='col1', y='col2', alpha=0.3)

已完成的部分R代码

library(reticulate)
pd <- reticulate::import('pandas')
df <- data.frame(col1=c(1,2,3,4,5), col2=c(6,7,8,9,19))
# 如何用reticulate复刻 df.plot.scatter(x='col1', y='col2', alpha=0.3)?

解决方案

要实现需求,核心是将R的data.frame转换为pandas的DataFrame对象(pandas绘图方法仅支持自身数据结构),同时因为pandas绘图依赖matplotlib,纯R脚本中需要手动触发图像显示。完整代码如下:

library(reticulate)

# 导入pandas和matplotlib.pyplot
pd <- import('pandas')
plt <- import('matplotlib.pyplot')

# 创建R数据框
df_r <- data.frame(col1=c(1,2,3,4,5), col2=c(6,7,8,9,19))

# 转换为pandas DataFrame
df_pd <- pd$DataFrame(df_r)

# 调用pandas散点图绘制方法
df_pd$plot$scatter(x='col1', y='col2', alpha=0.3)

# 手动触发图像显示(纯R脚本必须添加此步骤)
plt$show()

关键说明

  • 格式转换:reticulate支持R与Python对象的自动转换,pd$DataFrame(df_r)可将R数据框转为pandas的DataFrame。
  • 语法对应:用R的$替代Python的.,实现链式调用,对应Python的df.plot.scatter(),R中写为df_pd$plot$scatter()。
  • 图像触发:纯R脚本环境下,pandas绘图不会自动弹出图像,需调用matplotlib的plt$show()完成显示。

内容的提问来源于stack exchange,提问作者Basil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 07:52:42