2017-03-03 138 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