如果在图表渲染完成之前调用 FSharpChart.SaveAs (),则保存空白图像

2024-03-20

在 F# Interactive 中运行时,我希望以下代码创建一个简单的饼图并将其保存到磁盘:

let pie = FSharpChart.Pie([("Apples",1);("Oranges",2);("Bananas",3)])
FSharpChart.SaveAs "test.png" ChartImageFormat.Png pie

然而,“test.png”中实际保存的是一张空白图像。如果我将图表通过管道传输到 FShartChart.SaveAs 函数,也会发生同样的情况。但是,如果我首先仅执行图表创建代码并在手动执行 SaveAs 之前给予图表渲染时间,则图像将按预期保存。

有没有办法阻止对 FSharpChart.Pie 的调用,直到渲染完成?我在 Visual Studio 2013 中使用 FSharpChart.fsx 版本 0.60。


问题在于,首先需要显示底层图表控件,然后才能将图表保存到文件中(这非常愚蠢,但遗憾的是,F# 图表只是底层 .NET 图表库的轻量级包装器)。

我认为您可以在 F# 交互式中单独运行这两行,或者您需要显式调用一些显示图表的方法(我相信有FSharpChart.Show或类似的东西)

我用这个测试了F# 图表 http://www.nuget.org/packages/FSharp.Charting/这是该库的较新版本(有一些 API 更改,但想法非常相似)和以下工作(即使在单个命令中全部执行):

#load @"packages\FSharp.Charting.0.87\FSharp.Charting.fsx"
open FSharp.Charting

let pie = Chart.Pie([("Apples",1);("Oranges",2);("Bananas",3)])
pie.ShowChart()
pie.SaveChartAs("D:\\temp\\test.png", ChartTypes.ChartImageFormat.Png)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如果在图表渲染完成之前调用 FSharpChart.SaveAs (),则保存空白图像 的相关文章

  • F# 中的选项类型如何工作

    因此 我一直在阅读 Apress 的 Expert F 书籍 主要将其用作构建玩具式 F 库时的参考 但有一点我未能掌握 那就是 Option 类型 它是如何工作的以及它在现实世界中的用途是什么 选项类型至少为similar to Null
  • F# 引用的另一个限制?

    今天早些时候 我遇到了 F 引用的限制 并在这里提出了一个问题 F 引号 变量可能会转义作用域 https stackoverflow com questions 6414185 f quotations variable may esca
  • 了解 F# 尾递归

    最近在学习F 我尝试以不同的方式解决问题 像这样 0 1 2 3 4 5 6 7 8 gt 0 1 2 3 4 5 6 7 8 head recursive let rec toTriplet v1 list match list with
  • F# 匹配 ->

    我想做类似的东西 Nemerle 语法 def something match STT 1 with st Summ 2 with st AVG gt st summbycol counter STT 在 F 上 那么 F 是真的吗 没有对
  • 从函数返回随机值是副作用吗?

    我当时正在编写一些 F 代码 并且正在编写一个从一组字符串中返回随机字符串的函数 假设我有这样的事情 open System let a a b c d let rstring arr string let r new Random arr
  • 如何让一条记录实现一个接口?

    如果我有一个界面 type IData abstract member firstName string abstract member lastName string 如何定义符合此接口的记录类型 我尝试了如下所示 gt type Dat
  • 使用 FParsec 解析 int 或 float

    我正在尝试使用 FParsec 解析文件 该文件由 float 或 int 值组成 我面临两个问题 无法找到好的解决方案 1 Both pint32 and pfloat将成功解析相同的字符串 但给出不同的答案 例如pint32将返回3解析
  • Async.AwaitTask 在 f# 中如何工作?

    我知道 f 和 c 异步模型之间的主要区别在于 在 f 中 除非您调用 Async RunSynchronously 之类的内容 否则异步执行不会开始 在 C 中 当方法返回任务时 通常 并非总是 立即在后台线程中开始执行 Async Aw
  • 如何在.NET Core上直接调用F#编译器?

    UPD 我想直接从 NET Core SDK 调用 F 编译器 即 fsc 我了解 dotnet build co 但当我只需要编译一个简单的问题时 即 fsc file fs 就足够的情况下 我不想涉及它们 我尝试在 NET Core S
  • 图像分析-光纤识别

    我是图像分析新手 您知道如何以仅获取纤维的方式对该图像进行二值化吗 我尝试过不同的阈值技术等 但没有成功 我不介意应该使用什么工具 但我更喜欢 NET or Matlab PS 我不知道该把答案放在哪里 所以我把它放在StackOverfl
  • 什么时候需要使用 new 来初始化 F# 类型?

    给定一个类 例如 type MyClass member this Greet x printfn Hello s x 使用初始化实例是否合适 let x new MyClass 或没有new 另外 什么时候使用new构造函数比 a 更有用
  • 如何在 F# 中定义这种惰性(无限?)数据结构

    我在定义以下简单文本光标时遇到问题 该光标由元组表示 其中第一个元素是当前字符 如果函数获取下一个元素或崩溃 则第二个元素是 let rec nextAt index text if index lt String length text
  • 如果目标是 x64,为什么 Seq.iter 比 for 循环快 2 倍?

    免责声明 这是微基准测试 如果您对此主题感到不满意 请不要评论诸如 过早优化是邪恶的 之类的言论 示例是针对 x64 Net4 5 Visual Studio 2012 F 3 0 的发行版 并在 Windows 7 x64 中运行 经过分
  • F# 生成日期序列/数组

    在 F 中我可以轻松做到 let a 1 10 那我为什么不能做 let a DateTime Parse 01 01 2012 let b DateTime Parse 01 01 2020 let dateList a b 它给出了一个
  • 函数式编程是否避免了状态?

    根据维基百科 http en wikipedia org wiki Functional programming 函数式编程是一种编程范式 它将计算视为数学函数的评估避免状态和可变数据 强调我的 这是真的吗 我个人的理解是 它使状态更加明确
  • .Net 中可用的并行技术

    我是 Net 平台的新手 我查了一下 发现 Net中有几种做并行计算的方法 任务并行库中的并行任务 即 Net 3 5 PLINQ Net 4 0 异步编程 Net 2 0 异步主要用于执行 I O 繁重的任务 F 有简洁的语法支持这一点
  • F# - 构造嵌套类型

    我想这是非常基本的 F 问题 类型有 type Id1 Id1 of int type Id2 Id2 of string type Id Id1 Id2 type Child Id Id Smth string list type Nod
  • F#:仅对第一个事件执行一次操作,没有可变性/锁定?

    我有这段代码 可以下载文件并在控制台中告诉我该文件有多大 use webClient new WebClient let lockObj new Object let mutable firstProgressEvent true let
  • F# 之于 IronPython/IronRuby 就像 C# 之于 VB.NET 一样?

    我刚刚听了Chris Smith 谈论 F 的播客 http www code magazine com codecast index aspx messageid 7feb501f 25c8 432a 9624 97082f1e75e8他
  • F# 查询,按单列对多个值进行分组

    我有一个 F sql 查询 需要对每组中的两列求和 let financials query for data in dbData do groupValBy data earning data losses data store into

随机推荐

  • 外部元素边距不等于内部元素边距

    我正在使用 Android WebView 来显示我的应用程序的 HTML 内容 我需要动态查找元素 通常是 div 的完整高度 包括填充 边距和边框 我正在使用 JavaScript 无法使用 jQuery 我一直在使用scrollHei
  • 如何在多租户数据库中设置唯一约束

    这是一个多租户应用程序 所有记录都有一个客户 ID 来分隔客户数据 客户可以在此表中插入自己的数据并设置自己的唯一约束 每个客户都可以对 15 个字段中的任何一个字段设置唯一约束 也可以不设置任何约束 因此 在实际表上设置唯一约束是行不通的
  • 如何在装饰器中获取 Flask 可选 URL 参数?

    我的 Flask API 都使用电话作为可选的 url 参数 如下所示 我想使用装饰器来验证电话号码是否正确 那么我可以在不解析请求url的情况下在某处获取参数 phone 吗 user api route
  • 在更改视图网格 fullcalendar v4 上拖放后,带有 rrule 插件的事件不会更新

    我目前正在使用 rrule 插件开发 Fullcalendar v4 我有这个代码 var calendarEl document getElementById calendardemo var calendar new FullCalen
  • 如何将列表视图放入片段中

    如何将列表视图放入片段中 我使用带有固定选项卡的默认项目设置 它似乎不起作用 我的应用程序崩溃了 主要活动 import java util ArrayList import java util HashMap import java ut
  • Julia 作用域:为什么这个函数会修改全局变量?

    我是 Julia 的新手 但到目前为止我还是它的粉丝 但根据多年的 R 编程经验 一些范围规则让我感到困惑 我们来看看这个函数 这与我的预期完全一致 function foo1 x y x t 1 while t lt 1000 t 1 y
  • 如何在 java、MySQL 和 Tomcat 6 中使用连接池

    如何在Java MySQL Tomcat 6中使用连接池 我读过这篇文章http dev mysql com tech resources articles connection pooling with connectorj html h
  • IHttpActionResult 与异步任务

    我见过的大多数 Web API 2 0 方法都会返回IHttpActionResult 它被定义为 定义异步创建 System Net Http HttpResponseMessage 的命令 的接口 我对方法返回时发生的情况有点困惑asy
  • Jenkins 管道、bash 和管道

    我有一个输出字符串 我想对其运行 tr 和 jq 命令 管道是这样有意义的 IP sh script echo spawnServer jq 0 tr d returnStdout true 不幸的是 詹金斯管道讨厌管道 所以我得到的是 t
  • 我如何检查移动数据或 wifi 是否打开或关闭。 ios 快速

    在我的应用程序中 我正在检查移动数据是否关闭 是否会显示弹出窗口 例如检查您的数据连接 为此我写了这段代码 import Foundation import SystemConfiguration public class Reachabi
  • 在 Cypress 测试中尝试使用 Auth0 登录时出错

    我们的应用程序只能由经过身份验证的用户访问 并且我们使用Auth0 https auth0 com 用于身份验证 我们已经开始编写 Cypress 测试 并且在每次测试之前尝试使用 Auth0 JavaScript 客户端登录 第一个测试总
  • F#:带有类型定义的引用?

    我正在使用引号 但看不到类型定义的表达式模式 真的没有吗 还是我错过了什么 lt type MyType name string member x Name name gt 给出 引号文字中出现意外的关键字 type 你不能 你只能引用代码
  • Python Spark Dataframe 到 Elasticsearch

    我不知道如何使用 Spark 中的 python 将数据帧写入 Elasticsearch 我按照以下步骤操作here https db blog web cern ch blog prasanth kothuri 2016 05 inte
  • 如何在eclipse软件中获得Redo

    我需要找回我的程序 如何获取Redoeclipse pls 的键盘快捷键任何人都可以帮助我 You can use below code to implement Redo public class TextAreaDemoB extend
  • 如何对 numpy 数组进行舍入?

    我有一个 numpy 数组 如下所示 data np array 1 60130719e 01 9 93827160e 01 3 63108206e 04 我想将每个元素四舍五入到小数点后两位 我怎样才能这样做呢 Numpy 提供了两种相同
  • 计算一年内信用卡每月最低还款额的代码

    请我尝试找出我的推理有什么问题 从而找出我的结果 我正在学习一门在线课程 我需要计算 12 个月内消除信用卡债务所需的最低金额 我得到了年利率 债务金额 余额 的值以及每月还款额应增加的值 10 的倍数 根据我的推理 我生成的代码应该在几个
  • 如何查找Active Directory的全局编录?

    我想在 Active Directory 环境中搜索用户GC DC xxx DC yyy DC zzz格式 但是 如何以编程方式在任意 Active Directory 环境中查找全局编录 每个域名总是对应一个全局目录吗 我可以尝试其他替代
  • 将图像旋转 X 度 C# wpf [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 这已经困扰我很多年了 我只想要一个简单的方法来将图像旋转 X 度 这是针对炮塔防御游戏 其中炮塔需要向某个方向射击 我想要这样的东西 pub
  • Linux 上 C 语言中字符数组和指针的分段错误

    所以我有以下程序 int main char one computer char two another two 1 b one 1 b return 0 它在 one 1 b 行上出现段错误 这是有道理的 因为指针 one 指向的内存必须
  • 如果在图表渲染完成之前调用 FSharpChart.SaveAs (),则保存空白图像

    在 F Interactive 中运行时 我希望以下代码创建一个简单的饼图并将其保存到磁盘 let pie FSharpChart Pie Apples 1 Oranges 2 Bananas 3 FSharpChart SaveAs te