如果在图表渲染完成之前调用 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 (),则保存空白图像 的相关文章

  • 从传递给 C# 的 F# 列表中检索项目

    我在 C 中有一个在 F 中调用的函数 将其参数传递到Microsoft FSharp Collections List 如何从 C 函数中的 F 列表中获取项目 EDIT 我找到了一种 函数式 风格的方式来循环它们 并且可以将它们传递给如
  • 继续“F# 中是否存在与 C# 的 nameof(..) 等效的内容?”

    参考F 中是否存在相当于 C 的 nameof 的功能 https stackoverflow com questions 48304398 is there an equivalent of cs nameof in f 在以下情况下如何
  • 使用 F# 3.0 进行动态 SQL 查询?

    我尝试过使用 FLINQ 但它对于 F 3 0 beta 来说已经过时了 有人可以指导我如何在 F 中创建动态 SQL 查询吗 我们最近开发了一个库 FSharpComposableQuery 旨在支持 F 3 0 及以上版本中更灵活的查询
  • F#:将字符串选项转换为字符串的最短方法

    目标是转换一个string option这是通过一些很好的类型计算得出的一个简单的string然后可以传递到 UI printf URL 其他只想要一个字符串并且对选项类型一无所知的东西 None应该变成空字符串 显而易见的方法是做一个ma
  • 不可变数据结构性能

    我不明白作为一个集合的东西怎么可能是不可变的并且仍然具有可接受的性能 根据我在 F Sets 中读到的内容 内部使用红黑树作为其实现 如果每次我们想要向红黑树添加新内容时 我们基本上都必须重新创建它 那么它如何才能具有良好的性能呢 我在这里
  • F# 设置带有参数的 SQLCommand 的最佳方法

    我的 F 程序需要与 SQL Server 通信 在一部分中我有这样的事情 let workFlowDetailRuncommand new SqlCommand query econnection workFlowDetailRuncom
  • 在 F# 中的 Choice 之上构建 Either(或 Result)

    我根据 Scott Wlaschin 中的信息构建了一个成功 失败的 monadblog http fsharpforfunandprofit com posts computation expressions wrapper types
  • 对 null/空值使用 bool.Parse 时出错

    我有一个使用管道运算符的表达式 该表达式将值转换为字符串 然后转换为布尔值 但有时原始值可能为空 当值为 null 时 如何使用模式匹配或其他方式假设 false type kv Dictionary
  • 与 F# List.nth 的参数顺序混淆

    List nth is T 列表 gt 整数 gt T 而不是标准int gt T 列表 gt T like Seq nth 这使得管道有些尴尬 难道幕后有什么事情吗 我不知道为什么 可能是为了ocaml兼容性 http www csc v
  • FParsec:如何组合解析器以便它们以任意顺序匹配

    任务是找到特定的键值对并解析它们 这些对可以按任何顺序出现 我的部分工作尝试 open FParsec type Parser lt a gt Parser lt a unit gt type Status Running Done typ
  • 如何在 FsCheck 中注册任意实例并让 xUnit 使用它?

    我有一个类型Average有一个字段count这是积极的int64 and a double字段称为sum 我做了一个任意的生成有效实例的操作 let AverageGen Gen map2 fun s c gt Average float
  • F# 参数传递

    我一直认为 F 有两种不同的方式来传递参数 柯里化风格和元组风格 这实际上是正确的吗 是不是很简单一种风格 柯里化风格和参数可以是简单值或元组 e g someFunc a b 这不是一个函数吗one咖喱风格的参数恰好是一个元组 因此允许我
  • `ImmutableSortedSet` 和 fsharp `Set` 有什么区别?

    BCL引入了一组Immutable Collections http blogs msdn com b bclteam archive 2012 12 18 preview of immutable collections released
  • F# 中类型约束的顺序

    这适用于 F 4 0 type Something lt a b when b gt seq lt b gt gt 这不会 type Something lt b when b gt seq lt b gt a gt 类型名称中出现意外的符
  • f# 运行总计序列

    好吧 这看起来应该很容易 但我就是不明白 如果我有一个数字序列 如何生成由运行总计组成的新序列 例如 对于序列 1 2 3 4 我想将其映射到 1 3 6 10 以适当的功能方式 Use List scan https msdn micro
  • F# 获取随机数列表

    我正在尝试用随机数填充列表 但很难获得随机数部分 我现在打印出一个随机数 10 次 我想要的是打印出 10 个不同的随机数 let a new System Random Next 1 1000 let listOfSquares for
  • 使用 SqlBulkCopy 和 F# 在 SQL 中导出矩阵

    我想将大量数据从 F 传输到 SQL 表 基本上我的 F 代码创建了一个三列矩阵 UserID ProductID and price 和N行 我想将其 复制 粘贴 到数据库中 我尝试了多种选择 但最终 从 F 传输数据非常慢 10000
  • 从 C# 调用高阶 F# 函数

    给定 F 高阶函数 在参数中采用函数 let ApplyOn2 f int gt int f 2 和 C 函数 public static int Increment int a return a 我怎么打电话ApplyOn2 with I
  • 将属性应用于返回值 - 在 F# 中

    在 C 中 可以将属性应用于方法的返回 return DynamicAttribute public object Xyz return new ExpandoObject 这在 F 中可能吗 背景 我想要一个用 F 编写的库的方法 该方法
  • 如何使用 FLinq 在 F# 中进行外连接?

    问题几乎说明了一切 我有一个如下形式的大 flinq 查询 for alias1 in table1 do for alias2 in table2 do if alias1 Id alias2 foreignId 使用这种形式 如何在这两

随机推荐

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

    我正在使用 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