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

在Julia中如何用Plots实现类似Pandas df.plot()的数据框绘图

Julia中使用Plots+DataFrames实现类似Pandas df.plot()的方案

完全可以实现对应效果,你只需要额外安装Plots生态的官方数据绘图扩展包StatsPlots即可,和你当前使用的Plots库、plotlyjs后端、DataFrames包完全兼容。

前置配置

  • 安装StatsPlots包:
import Pkg; Pkg.add("StatsPlots")
  • 导入依赖并指定后端:
using DataFrames, Plots, StatsPlots
plotlyjs() # 启用你指定的plotlyjs后端

核心用法

StatsPlots提供的@df宏就是专门用来直接对DataFrame绘图的工具,语法和Pandas的df.plot非常接近:你只需要在绘图命令前加@df 数据框名,后续直接用加了冒号的列名(Symbol类型)指代对应列的数据即可,所有Plots原生支持的参数都可以直接复用。

常见场景示例

首先构造测试用数据框:

df = DataFrame(
    序号 = 1:30,
    产品A销量 = rand(50:150, 30),
    产品B销量 = rand(30:120, 30),
    到店人数 = rand(200:500, 30)
)
  1. 绘制多序列折线图(对应Pandas df.plot(x="序号", y=["产品A销量","产品B销量"]))
@df df plot(:序号, [:产品A销量, :产品B销量], 
    title="产品销量趋势",
    xlabel="日期序号",
    ylabel="销量",
    label=["产品A" "产品B"],
    linewidth=2)
  1. 绘制单序列柱状图
@df df bar(:序号, :产品A销量, 
    color=:lightblue,
    label="产品A日销量",
    xrotation=45)
  1. 绘制散点图查看变量相关性
@df df scatter(:到店人数, :产品A销量,
    markersize=4,
    color=:red,
    alpha=0.6,
    xlabel="到店人数",
    ylabel="产品A销量",
    label="样本点")
  1. 快速绘制所有数值列的分布直方图(对应Pandas df.hist())
@df df histogram(cols(2:4), 
    layout=(3,1),
    fillalpha=0.7,
    label="",
    title=["产品A销量分布" "产品B销量分布" "到店人数分布"])

小提示:如果需要选择多列绘图,直接把列名放在方括号里即可;如果是用变量存储的列名,用cols(列名变量)包裹即可正常识别。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 10:39:00