F#deedle系列如何获取在XPlot中使用的密钥和系列的名称

时间:2016-03-30 20:26:04

标签: f# deedle fslab

我正在使用XPLot绘制Table类型的图表。如果我没有指定Chart.WithLables,那么Table使用Column1和Column2作为标题。我的系列是从一个DataFrame创建的(索引在列上,标题名称为:Date,并且有一个标题名称为Close的列。以下是从数据框中获取系列的代码:

`let closes =  cl?Close`

因为我知道Chart:Table中的第1列是Series Key,第二列是Series的值。我可以将Chart.WithLabels硬编码为

// Chart type: Table of column Close 
closes
|> Chart.Table
|> Chart.WithOptions(Options(showRowNumber = true, page = "enable",    pageSize = 20)) 
|> Chart.WithLabels ["Date"; "Close"]

我正在寻找一种方法来提取Key(Date)的名称和值的名称(Close)。对于数据框,我可以使用

cl.Columns.Keys

获取Column标头。我找不到系列的任何等价物。我想编写Chart.WithLabels之类的代码

Chart.WithLabels [closes.KeyName; closes.Name]

1 个答案:

答案 0 :(得分:1)

与框架不同,Deedle系列不存储键和值的名称。

如果要编写可重复使用的函数,则需要将名称作为附加参数传递,或者可以将带有单个列的数据框传递给函数。

我可能会写一些类似的东西:

let plotSeriess label data =
  data
  |> Chart.Table
  |> Chart.WithOptions(Options(showRowNumber = true, page = "enable",    pageSize = 20)) 
  |> Chart.WithLabels ["Date"; label]