XPlot散点图按字符串xaxis分组

时间:2017-03-03 11:54:10

标签: f#

在下面的例子中,是否可以用字符串String1和String2对x轴进行分组,而不是每个字符串都是它自己的点?

let sales = [
        "String1", 1000;
        "String1", 1200;
        "String2", 1170; 
        "String2", 660; 
        "String2", 1030]

sales
    |> Chart.Scatter
    |> Chart.Show

为了澄清上面的代码,我得到以下输出: Graph1

但是使用以下代码将点分组:

let sales = [
    1, 1000;
    1, 1200;
    2, 1170; 
    2, 660; 
    2, 1030]
sales
    |> Chart.Scatter
    |> Chart.Show

Gaph2

1 个答案:

答案 0 :(得分:1)

您正在寻找List.map功能,我相信:

    let sales = [
    "Sales1", 1000;
    "Sales1", 1200;
    "Sales2", 1170; 
    "Sales2", 660; 
    "Sales2", 1030]

let myscatter = 
    Scatter(
        x = List.map fst sales,
        y = List.map snd sales,
        mode = "markers"
   )

myscatter
|> Chart.Plot
|> Chart.Show

chart

在stackoverflow上缩进很糟糕抱歉。

XPlot是GoogleCharts和Plotly的包装器。它也已与FSLab集成。

如果您使用情节使用open XPlot.Plotly

google chart方式:

let points =
sales |> Seq.ofList

points 
|> Chart.Scatter
|> Chart.Show

我搞砸了事情,我猜你实际上并不需要List.map。这只是第一种方式。每天都在学习新事物。