免费绘图计算器
在交互式缩放和平移网格上绘制一个或多个函数 y=f(x),比较曲线,并将图形导出为 PNG。免费、隐私、无需登录 — 一个轻量级的 Desmos 替代方案。
在交互式网格上绘制一个或多个函数 y = f(x) — 平移、缩放和比较曲线。导出为 PNG。完全在您的浏览器中运行。
坐标轴与比例
🔒 函数在您的浏览器中本地计算 — 您绘制的任何内容都不会被发送到任何地方。
工作原理
在可平移和缩放的交互式网格上绘制一个或多个函数 y = f(x)。函数使用 math.js 解析和求值,因此可以使用 sin、cos、sqrt、exp、log、幂等。会检测渐近线(如 tan x 或 1/x)并干净地断开曲线。可将图像导出为 PNG。一切都在你的浏览器中运行。
- 1输入函数输入关于 x 的表达式,例如 x^2 - 3、sin(x) 或 1/x。最多添加五个,每个使用不同颜色。
- 2浏览图像拖动平移,滚动(或使用按钮)缩放。移动时网格会自动重新标注。
- 3查看曲线多个函数一起绘制,方便比较并查看它们的交点。
- 4保存 PNG将当前视图下载为图片。不会上传任何内容。
函数在你的浏览器中本地求值——你绘制的任何内容都不会发送到任何地方。
指南
操作示例
页面打开时已输入了两条曲线,“x^2”和“sin(x)”,网格横向从 -10 到 10,纵向从 -7 到 7。勾选“标出零点、极值和交点”。会出现一张包含 19 个关键点的表格,其中有“x^2 ∩ sin(x)”的“交点”,位于 x = 0.87673、y = 0.76865,还有 sin(x) 的“局部极大值”,位于 x = 1.5708,y = 1。把指针移到图上(在手机上则点一下),可以读出每条曲线的 (x, y)。点击“添加函数”并输入 a*sin(x)。字母 a 不是 x,所以会出现一个“a =”滑块,值为 1。它的范围是 -10 到 10,步长 0.1,拖动时新曲线会重新绘制。在“PNG 尺寸”下选择“3×”,再点击“PNG”即可保存 graph.png。
使用哪些设置,以及限制
- 像手写数学那样输入。 用 ^ 表示乘方:x^2、2x^2 和 x² 都可以,** 会被读作 ^。乘号可以省略,如 2sin(3x) 或 x(x+1)。“sin x”和“sinx”会被读作 sin(x),|x| 变成 abs(x),√x 变成 sqrt(x),π、e 和 pi 都是已知的。括号之外两个数字之间的逗号会被读作小数逗号,所以 1,5x 就是 1.5x。ln(x) 和 log(x) 都是自然对数;以 10 为底请用 log10(x)。arcsin、tg 和 sgn 这样的名称分别被接受为 asin、tan 和 sign。像 x^(1/3) 这样的立方根对负的 x 给出实数值。
- 用与曲线相符的形式书写方程。 普通表达式、“y = ...”、“f(x) = ...”以及 g(x) 或 h(x) 会绘制 x 的函数。“r = 2*cos(t)”绘制极坐标曲线,角度从 0 到 4π(两圈),变量可以用 theta 或 t。“x = 3”绘制一条竖直线。同时含有两个字母的方程,如 x^2+y^2=4,绘制隐式曲线。括号中的一对表达式,如 (cos(t), sin(t)),是参数方程,t 从 -10 到 10。最多可同时绘制 5 条,各用自己的颜色。每行旁边的 × 可以移除该行。
- 用一个字母作为参数并拖动它。 任何其他不是 e 或 pi 这类内置常量的字母或名称都会成为参数,所以 a*sin(b*x) 会给出“a =”和“b =”的滑块。每个滑块从 1 开始,范围 -10 到 10,步长 0.1。滑块旁边的数字框可以接受其他值,如 25 或 0.05。最多 6 个参数有滑块,按字母顺序选取。这些值会保存在“分享结果”生成的链接中。写错的函数名不是参数:foo(x) 会给出“Unknown function or name”的提示。
- 通过拖动或输入范围来设置视窗。 拖动可平移,滚动可缩放。在手机上,单指拖动,双指捏合缩放,点按可读取数值。“放大”和“缩小”会把视窗宽度改为原来的 0.8 倍和 1.25 倍,“重置”则回到 -10 到 10 和 -7 到 7。打开“坐标轴与比例”可以输入“x 最小值”“x 最大值”“y 最小值”和“y 最大值”;按 Enter 或离开输入框即可应用。每个最大值必须大于对应的最小值,接受的值最大到 1,000,000,000。勾选“等比例(1:1)”,圆看起来就是圆的。
- 自动找出零点、峰值和交点。 “标出零点、极值和交点”会列出“零点(x 截距)”“y 截距”“局部极小值”“局部极大值”和“交点”,并给出函数、x 和 y。它只对 y = f(x) 形式的曲线有效,并且只在可见的 x 范围内有效,所以如果缺少某个点,请缩小视图。工具在视窗内采样 900 个点并对每个发现进行细化,因此比视窗窄得多的特征可能被漏掉。最多显示 60 行,数值显示 5 位有效数字。“复制表格”会把这些行复制为以制表符分隔的文本,便于粘贴到电子表格。
- 导出前先选好背景和尺寸。 “PNG”会以屏幕上画布大小的 1×、2× 或 3× 保存 graph.png(默认 2×),“SVG”则把 graph.svg 保存为矢量图,任何尺寸下都保持清晰。“背景”可选“白色”或“透明”。即使页面处于深色模式,导出也使用浅色,并且遵循你正在看的视窗,包括“等比例(1:1)”。只有勾选了该框,标出的关键点才会出现在文件中。“分享结果”会给出一个链接,其中把你的函数、视窗和参数值放在 # 号之后,浏览器不会把它发送到服务器。
常见问题及解决方法
- 提示“未知的函数或名称“foo”。试试 sin、cos、tan、sqrt、abs、ln、log10。”(其中是你自己的名称)。
- 括号前的这个词不是引擎认识的函数。请检查拼写,或加上乘号,因为 foo(x) 会被读作函数调用。支持的名称包括 sin、cos、tan、sec、csc、cot 及其反函数和双曲形式,sqrt、cbrt、abs、exp、ln、log、log10、log2、floor、ceil、round 和 sign。单独使用的单个字母(如 k)不算错误:它会变成滑块。
- 提示“请输入 y = f(x)、r = f(θ)、x = 某个数、(x(t),y(t)) 或关于 x 和 y 的方程。”
- 这个方程的形式是工具无法绘制的。两个原因是:“y =”这一行两边都有 y,例如 y = y+1;以及方程中既没有 x 也没有 y,例如 a = 5。请写成右边只含 x 的 y = f(x)。竖直线请写 x = 5,水平线请写 y = 5。像 x^2+y^2=4 这样关于 x 和 y 的方程会被绘制为曲线。如果你写的是没有等号的 x^2+y,会得到“This uses y or r, so write it as an equation, for example x^2+y^2=4 or r=2*cos(t).”
- 提示“不绘制不等式。请用 = 来绘制边界曲线。”
- 文本中的任何 < 或 >,包括 ≤ 和 ≥,都会触发这条提示。工具绘制曲线,不对区域着色。把符号换成 = 来绘制区域的边缘,例如用 y = x^2 代替 y > x^2,然后自己判断阴影一侧。对于由多个不等式定义的区域,请绘制每条边界,再看它们相交的位置。
- 勾选“标出零点、极值和交点”后提示“当前视图中没有关键点。”
- 只会为写成 y = f(x) 的曲线查找关键点,并且只在可见的 x 范围内查找。极坐标、参数、竖直线和隐式曲线会被跳过,所以只有 x^2+y^2=4 的页面总是显示这一行。否则可能是视窗内确实没有。缩小视图,或把“x 最小值”和“x 最大值”设得更宽,表格就会填充起来。
- 提示“无法加载数学引擎。请检查您的连接并重试。”
- 数学库是在第一次打开页面时获取的,不是页面本身的一部分。如果下载失败,例如网络较弱或被屏蔽,图形区域会被这条提示取代,滑块也会隐藏。恢复联网后请重新加载页面。
对比分析
手持图形计算器或完整的数学软件功能更多。本工具最多绘制 5 条曲线,不提供数值表、导数、积分、回归、不等式着色或 3D 图形。它的关键点是用数值方法求得的,所以请把 5 位数值视为接近而非精确,对可疑的点可以放大查看。你可以输入方程、拖动滑块并发送链接或 SVG,无需安装任何东西。函数在浏览器中计算,所以你绘制的内容不会发送到任何地方。