如果我有一个函数f(x)
的二维图,像这样:
f(x) = sin(x)
show(plot(f, (x,0, 2 * pi)))
使用鼠尾草,如何在f(x)
的指定值处沿x
的图绘制点?例如,如何在上图的上方显示红点,使其看起来像下图?
给出值L= [0, pi/8, pi/4, pi/2, 3*pi/4, pi]
的列表,是否有一种简便的方法可以在f(x)
的图上以x的每个值绘制点?
答案 0 :(得分:1)
要绘制点列表,请使用points
或point2d
。参见:
请注意,您还可以自定义轴上的刻度 匹配您要绘制的点。
这里是一个例子。
sage: f(x) = sin(x)
sage: xx = [0, pi/8, pi/4, pi/2, 3*pi/4, pi]
sage: yy = [f(x) for x in xx]
sage: xy = list(zip(xx, yy))
sage: f_plot = plot(f, (x, 0, 2*pi), ticks=(xx, yy), tick_formatter=(pi, None))
sage: f_dots = points(xy, color='red')
sage: p = f_plot + f_dots
sage: p
使用p.save
保存图:
sage: p.save('plot_sin_with_points.png')
要放大点,请使用size
(默认大小为10)。
要设置总和中图形元素的层顺序,
使用zorder
。
例如,可以如下定义f_dots
而不是上面的内容:
sage: f_dots = points(xy, color='red', size=30, zorder=20)
并获得较大的红点,它们位于曲线的“顶部”,而不是“下方”。