首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FSharpChart和Windows.Forms在很多方面都非常慢

FSharpChart和Windows.Forms在很多方面都非常慢
EN

Stack Overflow用户
提问于 2015-03-22 12:48:24
回答 1查看 145关注 0票数 2

我使用下面的示例代码对F#互动中的值列表进行基本绘图。当绘制更多的点时,显示所需的时间急剧增加。在下面的示例中,10^4分在4秒内显示,而4.10^4分则需要耐心测试53秒才能显示。总的来说,绘制N点的时间大致以N^2为单位。

结果是,我可能会在代码前面添加一个内插层,但是

1)我想知道谁知道FSharpChart和Windows.Forms的工作原理,是否能解释是什么导致了这种行为?(数据是有界的,因此似乎排除了需要调整比例的显示。)

(2)除了自己插值数据外,还有其他简单的补救办法吗?

代码语言:javascript
复制
let plotl (f:float list) =
    let chart = FSharpChart.Line(f, Name = "")
            |> FSharpChart.WithSeries.Style(Color = System.Drawing.Color.Red, BorderWidth = 2)
    let form = new Form(Visible = true, TopMost = true, Width = 700, Height = 500)
    let ctl = new ChartControl(chart, Dock = DockStyle.Fill)
    form.Controls.Add(ctl)

let z1 = [for i in 1 .. 10000 do yield sin(float(i * i))]
let z2 = [for i in 1 .. 20000 do yield sin(float(i * i))]
plotl z1
plotl z2
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-22 14:43:41

首先,FSharpChart是一个在库的旧版本中使用的名称。最新版本名为F#制图,附带了一个新文档,只使用Chart

要回答你的问题,Chart.LineChart.Points对于大量的分数来说是相当慢的。库中还有Chart.FastLineChart.FastPoints (它们不支持许多特性,但速度更快)。因此,尝试获取F#图表的最新版本,并使用该方法的“快速”版本。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29194547

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档