函数图像生成器

绘制常见函数与自定义表达式的二维图像,可设置显示范围、曲线颜色、线宽、网格和坐标轴,并导出 SVG 或 PNG。

免费在线工具
Loading…

使用说明

默认绘制 f(x) = sin(x),X 范围 -10~10、Y 范围 -5~5,修改任一参数会立即重绘。

  1. 在“函数 f(x)”下拉框选择预置函数:sin、cos、tan、ln、log₁₀、e^x、√x、|x|、xⁿ、x、x²、x³,或选择“自定义函数”。
  2. 预置函数可设置系数 A 和偏移 B,实际绘制 y = A·f(x) + B;幂函数还可设置指数 n。选择自定义函数时,表达式直接作为完整 f(x),上方系数与偏移不参与计算。
  3. 设置 X 最小值、最大值和 Y 最小值、最大值,X 与 Y 的最小值都必须小于最大值;还可选择曲线颜色和 1~10 的线宽,并勾选是否显示网格与坐标轴。
  4. 自定义表达式支持 + - * / % ^、括号、隐式乘法(如 2x、2sin(x)、(x+1)(x-1)),函数包括 sin、cos、tan、asin、acos、atan、sinh、cosh、tanh、ln、log、log10、log2、sqrt、cbrt、abs、exp、pow、min、max、hypot、floor、ceil、round、trunc、sign,常量支持 pi、π、e。三角函数使用弧度。
  5. 使用快捷按钮可快速切换 sin、cos、tan、x²、x³、√x、ln、e^x,并自动套用合适的显示范围。
  6. 工具栏提供“重新绘制”“放大”“缩小”“重置”“复制 SVG”“下载 SVG”“下载 PNG”;“加载示例数据”会绘制 2sin(x)+1 并重置样式。

功能介绍

  • 预置与自定义函数:12 种预置函数覆盖三角函数、对数、指数、根式、绝对值和幂函数;自定义表达式可直接绘制任意一元函数。
  • 系数与偏移:预置函数支持 y = A·f(x) + B,便于做振幅缩放、上下平移和取负;自定义表达式则直接作为完整 f(x)。
  • 自由视窗:X、Y 的最小值和最大值均可独立设置,配合放大/缩小按钮以视图中心为基准缩放,缩放范围限制在 1e-6~1e9。
  • 样式控制:可选择曲线颜色、1~10 的线宽,并独立开关网格与坐标轴;坐标刻度按 1/2/5×10ⁿ 自动选取合适步长。
  • 安全表达式解析:使用内置词法/语法解析器,不使用 eval 或 new Function;支持隐式乘法、数学函数和 pi、π、e 常量。
  • 导出:可将当前图像复制为 SVG 文本、下载 SVG 文件或下载 PNG,导出会遵循当前网格、坐标轴、颜色和线宽设置。

使用场景

数学函数图像演示
快速绘制 sin、cos、tan、x²、x³、ln、e^x 等函数,配合网格、坐标轴和缩放观察周期、单调性与渐近线。
验证自定义公式
把实验得到的公式或代码中的表达式粘贴进来,检查是否存在定义域断裂、异常振荡或量级问题。
教学课件与讲义配图
设置曲线颜色、线宽和显示范围后复制 SVG,直接用于网页、幻灯片或矢量排版,避免位图模糊。
工程函数形态检查
绘制缩放、平移后的函数,观察在目标区间内的取值范围和变化趋势,为参数初值选择提供依据。

常见问题

自定义函数会使用上方的系数 A 和偏移 B 吗?
不会。自定义表达式会直接作为完整的 f(x) 绘制,系数 A 和偏移 B 只对预置函数生效。如果需要在自定义表达式中缩放或平移,请把系数直接写进表达式,例如 2*sin(x)+1。
支持哪些函数、常量和运算?
支持 +、-、*、/、%、^、括号和隐式乘法,例如 2x、2sin(x)、(x+1)(x-1)。函数包括 sin、cos、tan、asin、acos、atan、sinh、cosh、tanh、ln、log(底 10)、log10、log2、sqrt、cbrt、abs、exp、pow、min、max、hypot、floor、ceil、round、trunc、sign,常量包括 pi、π、e。三角函数按弧度计算。
为什么图像是空白或只有部分曲线?
常见原因有三类:X 或 Y 的最小值不小于最大值;函数在当前范围内无定义,例如 ln(x) 或 √x 取到负数、负底数配非整数指数;或者曲线落在当前 Y 范围之外。工具会提示范围无效或在视窗内没有有效数据点。
tan(x) 的图像为什么是断开的?
tan 在 π/2 + kπ 处无定义,采样点会返回无效值并被断开,避免把渐近线画成竖线。这是正常现象,不代表绘图错误。
放大和缩小的范围有限制吗?
有。放大/缩小以当前视图中心为基准,X 和 Y 的跨度会被限制在 1e-6 到 1e9 之间,防止缩放到零或大到失去数值意义。也可以直接修改 X、Y 的最小值和最大值。
可以导出哪些格式?
可以复制 SVG 文本、下载 function-graph.svg,或把当前画布下载为 function-graph.png。SVG 导出会包含当前背景、网格、坐标轴、曲线和表达式标题,并遵循颜色与线宽设置。