Sage:如何在特定的x值下沿函数f(x)的图形绘制点?

问题描述 投票:1回答:1

如果我有一个函数f(x)的二维图,像这样:

f(x) = sin(x)
show(plot(f, (x,0, 2 * pi)))

使用Sage,如何在f(x)的指定值处沿着x图形绘制点?例如,如何在上图的顶部显示红点,使其看起来如下图所示?

graph of sine function with red dots at specific points on graph

给定一个值列表L= [0, pi/8, pi/4, pi/2, 3*pi/4, pi],有没有一种简洁的方法在f(x)的图表上绘制每个x值的点?

matplotlib plot graph point sage
1个回答
1
投票

要绘制点列表,请使用pointspoint2d。看到:

请注意,您还可以自定义轴上的刻度以匹配您正在绘制的点。

这是一个例子。

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')

Plot sine curve with some points

要使点更大,请使用size(默认大小为10)。

要以总和设置图形元素的图层顺序,请使用zorder

例如,可以如下定义f_dots而不是上面的:

sage: f_dots = points(xy, color='red', size=30, zorder=20)

并获得更大的红点,坐在曲线的“顶部”而不是“在下面”。

© www.soinside.com 2019 - 2024. All rights reserved.