2016-10-12 19 views

答えて

2

ダウンロードnugetからPlotly 1.4.2をダウンロードし、XPlotlyのFSLabパッケージディレクトリにあるdllを置き換えてください(Plotting with Xplotly Q参照)。そして、あなたは例えば、ズームイン、ズームアウトするXplotlyのコントロールを使用してチャートを保存する、などができます。Plotlyを使用して

#load @"..\..\FSLAB\packages\FsLab\FsLab.fsx" 
open XPlot.Plotly 
open XPlot.Plotly.Graph 
open XPlot.Plotly.Html 
//open XPlot.GoogleCharts 

let layout = Layout(title = "Basic Bar Chart") 
["giraffes", 20; "orangutans", 14; "monkeys", 23] 
    |> Chart.Bar 
    |> Chart.WithLayout layout 
    |> Chart.WithHeight 400 
    |> Chart.WithWidth 700 
    |> Chart.Show 

enter image description here

+1

'XPlot.Plotly'で公開されていないチャートがたくさんあるようです...特に、燭台、パイ、カレンダーがありません:/ –

+1

@ReiMiyasakaはい、気づきました。私はXplotのGoogleChartに詳しくないが、私は同じ問題を抱えていて、グラフのサイズを変更できなかった。 githubに問題を提出したいかもしれません。 – s952163

+1

私は独自のhtml/javascriptチャートプロキシを実装しようと決めました。埋め込まれたASP.Netコアサーバーではあまり重視してはいけません。すべての無料のjavascriptビジュアライゼーションライブラリにアクセスできます。 –

0

非常ベアボーンチャート溶液(とそれが動作する):

open Newtonsoft.Json 

let html = """<head> 
    <script src="https://cdn.plot.ly/plotly-latest.min.js"></script> 
</head> 
<body> 
    <div id="myDiv" style="width: 100%; height: 100%;"></div> 
    <script> 
    var data = __DATA__; 
    var layout = __LAYOUT__; 
    Plotly.newPlot('myDiv', data, layout); 
    </script> 
</body>""" 

let (=>) k v = k, (v:>obj) 

let doPlot data layout = 
    let data = JsonConvert.SerializeObject data 
    let layout = JsonConvert.SerializeObject layout 
    let path = Path.GetTempPath() + DateTime.Now.Ticks.ToString() + ".html" 
    File.WriteAllText(path, html.Replace("__DATA__", data).Replace("__LAYOUT__", layout)) 
    System.Diagnostics.Process.Start(path) 

let layout = 
    [ "title" => "Plot" 
     "xaxis" => dict [ 
     "title" => "Ticks" 
     "showgrid" => false 
     "zeroline" => false 
     ] 
     "yaxis" => dict [ 
     "title" => "Price" 
     "showline" => false 
     ] 
    ] |> dict 

let data = [ 
    dict [ "x" => [1999; 2000; 2001; 2002] 
      "y" => [16; 5; 11; 9] 
     ] 
    ] 

doPlot data layout 
関連する問題