Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
F# XPlot中的选项和WithSize等是否仅针对特定图表?_F#_Fslab - Fatal编程技术网

F# XPlot中的选项和WithSize等是否仅针对特定图表?

F# XPlot中的选项和WithSize等是否仅针对特定图表?,f#,fslab,F#,Fslab,我尝试了FSLab教程中的Chart.with size和displayZoomButtons=true,但似乎没有改变输出 在其他直接使用XPlot.GoogleCharts的项目中也是如此 我遗漏了什么吗?从nuget下载Plotly 1.4.2,并替换XPlotly的FSLab packages目录中的DLL(请参阅)。然后,您可以使用Xplotly的控件进行放大和缩小、保存图表等操作。例如: #load @"..\..\FSLAB\packages\FsLab\FsLab.fsx" o

我尝试了FSLab教程中的
Chart.with size
displayZoomButtons=true
,但似乎没有改变输出

在其他直接使用XPlot.GoogleCharts的项目中也是如此


我遗漏了什么吗?

从nuget下载Plotly 1.4.2,并替换XPlotly的FSLab packages目录中的DLL(请参阅)。然后,您可以使用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

使用Plotly的非常简单的图表解决方案(而且有效):

打开Newtonsoft.Json
让html=”“”
var数据=_数据_;;
变量布局=\uuuu布局\uuuuu;
Plotly.newPlot('myDiv',数据,布局);
"""
设(=>)kv=k,(v:>obj)
让doPlot数据布局=
让data=JsonConvert.serialized对象数据
let layout=JsonConvert.serialized对象布局
让path=path.GetTempPath()+DateTime.Now.Ticks.ToString()+“.html”
File.writealText(路径,html.Replace(“\uuuuu DATA\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
系统.诊断.过程.启动(路径)
让布局=
[“标题”=>“绘图”
“xaxis”=>dict[
“标题”=>“记号”
“showgrid”=>false
“零线”=>假
]
“yaxis”=>dict[
“标题”=>“价格”
“showline”=>false
]
]|>dict
让数据=[
dict[“x”=>[1999;2000;2001;2002]
“y”=>[16;5;11;9]
]
]
doPlot数据布局

您可以改用XPlot.Plotly吗?看起来有很多图表没有通过
XPlot.Plotly
公开。。。值得注意的是,烛台、馅饼和日历都不见了:/@ReiMiyasaka是的,我注意到了。我不太熟悉Xplot中的谷歌图表,但我也有同样的问题,无法调整图表的大小。您可能想在github上提交一个问题。我决定尝试实现自己的html/javascript图表代理。使用嵌入式ASP.Net核心服务器应该不会太难,它可以让我访问所有免费的javascript可视化库。@ReiMiyasaka很高兴在github上看到它。:)大概它不会有太多的代码,因为我不想让它像XPlot那样可组合或可配置——只想在一个.fsx文件中硬编码大部分生成的html/js,这样我就可以直接处理它了。它可能更适合写博客——只是我现在没有博客。我会想办法的。
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