2017-03-03 141 views
2

在下面的例子中,可以通过字符串String1和String2对x轴进行分组,而不是将每个字符串作为自己的点?XPlot按字符串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

+0

不知道我明白你在说什么 –

+0

(我从来没有使用XPlot,所以这可能是一个原因) –

+0

我已经更新了它,举个例子,希望这会有所帮助 – Mark

回答

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

压痕上正在计算器抱歉可怕。

XPlot是GoogleCharts和Plotly的封装。它也已经与FSLab集成。

如果您正在使用plotly使用open XPlot.Plotly

谷歌图表方式:

let points = 
sales |> Seq.ofList 

points 
|> Chart.Scatter 
|> Chart.Show 

我的事情搞砸周围,我猜你其实并不需要List.map。这只是第一种方式。每天学习新事物。

+0

谢谢。这仅适用于XPlot中的Plotly还是可以应用于Google Charts? – Mark

+0

我更新了答案。随时接受,如果它回答你的问题 – autisticvegan