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

能否用Makie.jl或其他Julia绘图库绘制DataFrames.jl的DataFrame表格?

用Julia绘制DataFrame表格并保存为图片

方案1:使用Makie生态的TableMakie.jl

Makie本身无内置表格组件,但可通过TableMakie.jl扩展实现,它原生支持DataFrames,能灵活定制表格样式。

步骤:

  1. 安装所需包:
using Pkg
Pkg.add(["Makie", "TableMakie", "DataFrames"])
  1. 示例代码:
using Makie, TableMakie, DataFrames

# 创建测试DataFrame
df = DataFrame(
    姓名 = ["爱丽丝", "鲍勃", "查理"],
    年龄 = [25, 30, 35],
    分数 = [85.5, 92.0, 78.0]
)

# 创建画布并绘制表格
fig = Figure(resolution = (600, 200))
table(fig[1, 1], df,
    header_bgcolor = :steelblue,
    cell_fill_color = [(i,j) -> isodd(i) ? :white : :lightgray for i in 1:nrow(df), j in 1:ncol(df)],
    header_text_color = :white,
    row_dividers = true,
    column_dividers = true
)

# 保存为PNG图片
save("dataframe_table.png", fig)

方案2:用PrettyTables.jl快速生成表格图片

如果不需要高度定制的可视化,PrettyTables.jl是更轻量的选择,它可以生成文本表格并在Makie中渲染,或者直接导出为HTML再转图片。

示例1:在Makie中渲染文本表格

using DataFrames, PrettyTables, CairoMakie

df = DataFrame(
    姓名 = ["爱丽丝", "鲍勃", "查理"],
    年龄 = [25, 30, 35],
    分数 = [85.5, 92.0, 78.0]
)

# 生成格式化的表格文本
table_content = pretty_table(String, df, formatters = ft_round(1), alignment = :c)

# 在Makie画布中显示表格
fig = Figure(resolution = (600, 150))
Label(fig[1, 1], table_content, font = "JetBrains Mono", fontsize = 14)
save("text_table.png", fig)

示例2:导出为HTML后转图片

PrettyTables可以直接生成独立HTML表格,你可通过浏览器截图或工具转换为图片:

pretty_table("dataframe_table.html", df, backend = :html, standalone = true)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 20:24:29