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

如何在控制台应用中非交互式运行FSharp.Plotly并弹出图表?

没问题,我来帮你搞定在F#控制台应用里用FSharp.Plotly弹出图表的事儿!

在F#控制台应用中使用FSharp.Plotly弹出图表的解决方案

1. 先搞定包引用

不管你用命令行还是Visual Studio,先给控制台项目装上FSharp.Plotly包:

  • 命令行方式:在项目根目录运行 dotnet add package FSharp.Plotly
  • Visual Studio方式:右键项目 → 管理NuGet程序包 → 搜索FSharp.Plotly并安装

2. 编写核心代码(浏览器显示版本)

其实和你在.fsx里写的逻辑几乎一样,只是把代码放到控制台项目的Main入口函数里就行:

open FSharp.Plotly

[<EntryPoint>]
let main argv =
    // 准备示例统计数据
    let months = ["1月"; "2月"; "3月"; "4月"; "5月"]
    let sales = [1200; 1500; 1800; 1600; 2000]

    // 创建柱状图
    let salesChart = 
        Chart.Column(months, sales)
        |> Chart.withTitle "月度销售统计"
        |> Chart.withXAxisTitle "月份"
        |> Chart.withYAxisTitle "销售额(元)"

    // 关键:调用Show()弹出图表,默认会用系统浏览器打开生成的HTML
    salesChart |> Chart.Show

    // 可选:让控制台等待用户输入再退出,避免程序直接关掉
    printfn "按任意键关闭控制台..."
    System.Console.ReadKey() |> ignore

    0 // 返回程序退出码

3. 可选:在桌面窗口显示图表(而非浏览器)

如果你不想用浏览器,想在独立的桌面窗口展示图表,可以安装FSharp.Plotly.WinForms包,然后用WinForms控件显示:

  1. 先安装包:dotnet add package FSharp.Plotly.WinForms
  2. 修改代码:
open FSharp.Plotly
open FSharp.Plotly.WinForms // 新增这个命名空间

[<EntryPoint>]
let main argv =
    // 数据和图表创建逻辑和上面一样
    let months = ["1月"; "2月"; "3月"; "4月"; "5月"]
    let sales = [1200; 1500; 1800; 1600; 2000]

    let salesChart = 
        Chart.Column(months, sales)
        |> Chart.withTitle "月度销售统计"
        |> Chart.withXAxisTitle "月份"
        |> Chart.withYAxisTitle "销售额(元)"

    // 改用WinForms窗口显示
    salesChart |> Chart.ShowWinForms

    // WinForms窗口会保持打开,直到用户关闭,这里可以不用加Console.ReadKey()
    0

小提示

  • Chart.Show()会在系统临时目录生成一个HTML文件,然后调用默认浏览器打开,和你在.fsx里的体验完全一致。
  • 如果遇到浏览器没自动弹出的情况,可以手动调用Chart.SaveHtml("chart.html")把图表保存到指定路径,然后自己打开这个文件查看。
  • 确保你的项目目标框架是.NET Core 3.1+、.NET 5+或者.NET Framework 4.6.1+,FSharp.Plotly对这些框架都支持。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 07:02:09