在 F# 中使用 xplot/plotly 的连续误差带
Posted
技术标签:
【中文标题】在 F# 中使用 xplot/plotly 的连续误差带【英文标题】:continuous error bands with xplot/plotly, in F# 【发布时间】:2021-08-09 05:44:12 【问题描述】:我正在尝试制作这样的图表:
如页面中所述:https://plotly.com/python/continuous-error-bars/
相关python代码为:
go.Scatter(
x=x+x[::-1], # x, then x reversed
y=y_upper+y_lower[::-1], # upper, then lower reversed
fill='toself'
)
但我不太确定如何使 F# 等效于:
y=y_upper+y_lower[::-1]
使用 xplot/plotly
我怎样才能画出这样的图表?
【问题讨论】:
【参考方案1】:实际上,您可以使用 Plotly.NET!
这是一个完整的 sn-p,它将在 .NET Interactive 中重现图表。
#r "nuget: Plotly.NET.Interactive, 2.0.0-beta9"
open Plotly.NET
let x = [1; 2; 3; 4; 5; 6; 7; 8; 9; 10]
let y = [1; 2; 7; 4; 5; 6; 7; 8; 9; 10]
let y_upper = [2; 3; 8; 5; 6; 7; 8; 9; 10; 11]
let y_lower = [0; 1; 5; 3; 4; 5; 6; 7; 8; 9]
Chart.Range(
x,
y,
y_upper,
y_lower,
StyleParam.Mode.Lines,
Color="rgb(0,100,80)",
RangeColor="rgba(0,100,80,0.2)")
文档中的渲染出于某种原因拉伸了 x 轴,尽管我在跟踪本身中看不到这一点。
请参阅range charts 了解更多信息。
至于y=y_upper+y_lower[::-1]
位,这只是F#中的一个列表追加,所以它是:
y_upper @ (y_upper |> List.rev)
但至少在最初,如果您使用 Plotly.NET,这似乎是不必要的。
【讨论】:
哦,好的,所以上和下的 y 数据被附加,下一个反转。我知道了!同时,我也想出了一个替代的解决方案:画底部,然后用 fill = "tonexty" 画顶部,这似乎也有效。以上是关于在 F# 中使用 xplot/plotly 的连续误差带的主要内容,如果未能解决你的问题,请参考以下文章
数学分析函数连续性部分问题设f在[a,正无穷)上满足lipschitz条件(F...