2016-10-12 3 views

답변

2

다운로드 nuget에서 Plotly 1.4.2를 다운로드하고 XPlotly의 FSLab 패키지 디렉토리에있는 DLL을 바꿉니다 (Plotting with Xplotly Q 참조). 그럼 당신은 확대 및 축소 Xplotly의 컨트롤을 사용할 수 있습니다, 예를 들어 등 차트를 저장 :

#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 코어 서버로 너무 열심히해서는 안되며 모든 무료 자바 스크립트 시각화 라이브러리에 액세스 할 수 있습니다. –

0

(및 작동) Plotly를 사용하여 매우 베어 차트 솔루션 :

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