我现在已经阅读了很多关于Plots.jl
包中的食谱的内容,但仍然没有完全得出差异:据我所知,类型配方是为类型定义特殊的绘图行为,并使用用户配方定义自己的情节行为。
我现在的问题是,这两个概念能否齐头并进:让我们想象一下,我有一个用户配方:
@userplot foo
@recipe function f(h::foo)
do some stuff
end
现在我可以使用它作为foo(x)
,我的情节将被创建。
类型配方是:
type myfoo
...
end
@recipe function f(x::myfoo)
do some stuff
end
并且用plot(y::myfoo)
创建了情节。
我可以以某种方式定义用户图以使用类型配方的绘图定义,反之亦然?
谢谢!
@userplot
食谱用于定义适用于不同类型的一般情节食谱。例如,您可以为几乎任何类型的有序数据定义histogram
的配方。
另一方面,当您的类型具有可视表示时,类型配方是自然的。例如,如果你的类型是Histogram
本身,那么定义类型的配方并将其绘制为plot(hist)
与hist
Histogram
的实例是有意义的。
这就是我在自己的包中决定这两个概念的方法,它是个人选择。您可以完全自由地在另一个内部调用一个食谱。我没有看到有两个食谱输出相同情节的明确动机。