有没有办法将 Haskell GNUPlot 图相互叠加?
Is there a way to overlay Haskell GNUPlot plots on top of each other?
我将 GNUPlot.Simple 用于 Haskell,并试图绘制 2 个图表。
一种是使用填充曲线格式,一种是法线。
我使用的代码是:
plotListsStyle [] [ (( defaultStyle {plotType = FilledCurves} ) , ( zip3 [1,2,3] [2,3,4] [0,1,2] )), ((PlotStyle {plotType = Lines, lineSpec = CustomStyle [PointSize 0.1] }), (zip [1,2,3] [1,2,3]) )]
当我分别做它们时它们工作正常:
plotListsStyle [] [ (( defaultStyle {plotType = FilledCurves} ) , ( zip3 [1,2,3] [2,3,4] [0,1,2] ))]
和
plotListsStyle [] [((PlotStyle {plotType = Lines, lineSpec = CustomStyle [PointSize 0.1] }), (zip [1,2,3] [1,2,3]) )]
但一起完成时不会。
是否可以将 GNUPlots 相互叠加?
看起来您只需要通过提供一些 GNUPlot 实际上不需要的额外数据来欺骗类型检查器。尝试类似的东西:
import Graphics.Gnuplot.Simple
main = do
plotListsStyle []
[ ( defaultStyle {plotType = FilledCurves}
, zip3 [1::Double,2,3] [2::Double,3,4] [0::Double,1,2] )
, ( PlotStyle {plotType = Lines, lineSpec = CustomStyle [PointSize 0.1] }
, zip3 [1::Double,2,3] [1::Double,2,3] (repeat 0))
-- ^^^^^^^^^^
-- Provide this useless extra data
]
这里的问题是 plotListsStyle
接受一个元组列表,并且——与所有 Haskll 列表一样——所有元组都必须是同一类型,所以你不能有数据在一个元组中键入 [(Double,Double,Double)]
,在另一个元组中键入 [(Double,Double)]
类型的数据。
我将 GNUPlot.Simple 用于 Haskell,并试图绘制 2 个图表。 一种是使用填充曲线格式,一种是法线。 我使用的代码是:
plotListsStyle [] [ (( defaultStyle {plotType = FilledCurves} ) , ( zip3 [1,2,3] [2,3,4] [0,1,2] )), ((PlotStyle {plotType = Lines, lineSpec = CustomStyle [PointSize 0.1] }), (zip [1,2,3] [1,2,3]) )]
当我分别做它们时它们工作正常:
plotListsStyle [] [ (( defaultStyle {plotType = FilledCurves} ) , ( zip3 [1,2,3] [2,3,4] [0,1,2] ))]
和
plotListsStyle [] [((PlotStyle {plotType = Lines, lineSpec = CustomStyle [PointSize 0.1] }), (zip [1,2,3] [1,2,3]) )]
但一起完成时不会。 是否可以将 GNUPlots 相互叠加?
看起来您只需要通过提供一些 GNUPlot 实际上不需要的额外数据来欺骗类型检查器。尝试类似的东西:
import Graphics.Gnuplot.Simple
main = do
plotListsStyle []
[ ( defaultStyle {plotType = FilledCurves}
, zip3 [1::Double,2,3] [2::Double,3,4] [0::Double,1,2] )
, ( PlotStyle {plotType = Lines, lineSpec = CustomStyle [PointSize 0.1] }
, zip3 [1::Double,2,3] [1::Double,2,3] (repeat 0))
-- ^^^^^^^^^^
-- Provide this useless extra data
]
这里的问题是 plotListsStyle
接受一个元组列表,并且——与所有 Haskll 列表一样——所有元组都必须是同一类型,所以你不能有数据在一个元组中键入 [(Double,Double,Double)]
,在另一个元组中键入 [(Double,Double)]
类型的数据。