代码之家  ›  专栏  ›  技术社区  ›  J. Taylor

萨奇:如何在函数f(x)的特定值x上沿图绘制点?

  •  0
  • J. Taylor  · 技术社区  · 7 年前

    如果我有一个函数的二维图 f(x)

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

    使用Sage,我如何沿着 在规定值下 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] ,是否有简洁的方法在 每一个x的值?

    0 回复  |  直到 7 年前
        1
  •  1
  •   Samuel Lelièvre serge-sans-paille    7 年前

    要绘制点列表,请使用 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')
    

    Plot sine curve with some points

    size (默认大小为10)。

    要设置图形元素的层数顺序, 使用 zorder .

    例如,可以定义 f_dots 以下内容代替上述内容:

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

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