Edit

Insert > Plot > 2D / 3D

Keyboard shortcut: a 2D Graph can be added directly typing @

Now an empty graph will be added:

Edit

**x**for 2D graphs

**x**and/or**y**for 3D graphs

NOTE: variables are case sensitive (x is different from X)

You have multiple ways to plot equations:

Directly from the plot window

Indirectly, building your equation outside the plot window

Edit

- 2 columns matrices for 2D plots

- 3 columns matrices for 3D plots

Edit

Each "value" will be colored differently (cycling between 6 colours, in the following order: blue, red, green, magenta, orange and brown)

Edit

- Special characters (case sensitive) have position fixed on center on the given coordinates:
**+ . * o x**;

- Words, phrases or non-special characters have top-left corner of (virtual) textbox fixed on the given coordinates;

- Size and color columns are not required (so you can use a 3, 4 or 5 columns matrix);

- Values of size column are absolute, so the resize action does not affect the appearance of special plots;

- Many colors are allowed, using web format (like "#6699CC" or "#FF6699CC") or by name; here is a complete list of possible colors:

aliceblue, antiquewhite, aqua, aquamarine, azure, beige, bisque, blanchedalmond, black, blue, blueviolet, brown, burlywood, cadetblue, chartreuse, chocolate, coral, cornflowerblue, cornsilk, crimson, cyan, darkblue, darkcyan, darkgoldenrod, darkgray, darkgreen, darkkhaki, darkmagenta, darkolivegreen, darkorange, darkorchid, darkred, darksalmon, darkseagreen, darkslateblue, darkslategray, darkturquoise, darkviolet, deeppink, deepskyblue, dimgray, dodgerblue, firebrick, floralwhite, forestgreen, fuchsia, gainsboro, ghostwhite, gold, goldenrod, gray, green, greenyellow, honeydew, hotpink, indianred, indigo, ivory, khaki, lavender, lavenderblush, lawngreen, lemonchiffon, lightblue, lightcoral, lightcyan, lightgoldenrodyellow, lightgray, lightgreen, lightpink, lightsalmon, lightseagreen, lightskyblue, lightslategray, lightsteelblue, lightyellow, lime, limegreen, linen, magenta, maroon, mediumaquamarine, mediumblue, mediumorchid, mediumpurple, mediumseagreen, mediumslateblue, mediumspringgreen, mediumturquoise, mediumvioletred, midnightblue, mintcream, mistyrose, moccasin, navajowhite, navy, oldlace, olive, olivedrab, orange, orangered, orchid, palegoldenrod, palegreen, paleturquoise, palevioletred, papayawhip, peachpuff, peru, pink, plum, powderblue, purple, red, rosybrown, royalblue, saddlebrown, salmon, sandybrown, seagreen, seashell, sienna, silver, skyblue, slateblue, slategray, snow, springgreen, steelblue, tan, teal, thistle, tomato, turquoise, violet, wheat, white, whitesmoke, yellow, yellowgreen

NOTE: You can use darkblue, DarkBlue, Dark Blue (recommended), DARKBLUE, D a R k B l U e ant etc...all spaces will be removed and color name will be converted to lower case chars.

NOTE: web colors are allowed both in hexadecimal RGB ("#RRGGBB") or hexadecimal aRGB ("#aaRRGGBB") format.

NOTE: You can use number instead of color name or web-color. Number composing rule is a bit complex, but it is similar with web-colors: color represented as a hexadecimal number where - first pair is opacity; - second pair is a Red Component; - third pair is a Green Component; - fourth pair is a Blue Component; For example FF00FF00 is a full-opacity Green color (FF 00 FF 00). When you have a hexadecimal number you need to convert it to decimal number to use it in SMath Studio. There are snippets to make easy this conversion (see References). Note that because of the maximum 32-bit integer is 2147483647 (0xFFFFFFFF/2) and FF00FF00 = 4278255360 (i.e. greater then the max. integer), then Green is FF00FF00-0xFFFFFFFF-1=-16711936.

Edit

Edit

Using an if/else statement

NOTE: Any text (empty or not) or message from the error function will be ignored.

Using booleans as function parameters

NOTE: infinite values will be ignored.

Edit

In the plot any x value will be rounded and, if possible, the corresponding vector element will be used as y value:

Edit

Because the output units of calculations are base units (f.e. meters for any length unit), you have to scale the input or adjust the viewport.

Edit

Rotate: rotate 3D graphs (see Known issues).Scale: if you roll your mouse wheel it zooms both axes together. If you hold 'control' keyboard key (CTRL) at the same time it just zooms the vertical axis;

if you use the mouse wheel holding the 'shift' keyboard key (↑) it zooms the horizontal axis. This does not affect the appearance of special plots.Move: drag the graph up or down, left or right; by default you can move the graph also by clicking and holding the left mouse button on the graph.Graph by points: show functions/straight lines as a set of points; could be useful to highlight discontinuities.Graph by lines: show functions/straight lines as lines (default).Refresh: restore the default view of the graph (axes origin moved to the graph center and zoom with default limits).

Clicking with the right mouse button on the graph appears a context menu that contains other options.

Edit

to inform the developers about issues you found out use the forum: bugs&problems |

There are several main known issues about graphs:

- grids are available in power of two only;
- axes limits are available by mouse wheel only;
- 3D plots loose alignments opening the worksheet;
- 3D coordinates are left-handed;

Edit

- SMath 0.78 (stable): Added ability to Zoom graphs by mouse wheel;
- SMath 0.82.3477 (stable): Added ability to plot multiple graphs on the canvas (2D & 3D): multiple Graphs can be specified by functions or/and points at the same time; +/- and -/+ operators also can be used; 2D Graphs now can be inserted into the page by pressing "@" symbol;
- SMath 0.85 (stable): Added ability to separately change axis scale factor on 2D graphs using Ctrl/Shift + Mouse Wheel;
- SMath 0.89.8 (Beta): Added ability to draw text and special characters on the 2D Plot Control canvas;
- SMath 0.90 (stable): Graph animation implemented; Plot 2D and Plot 3D buttons removed from the math toolbar panel;
- SMath 0.94 (stable): Added support for colors specifying for the special objects and strings into the Plot Region using web format (like "#6699CC");

Edit

Edit

- Graphs Basics (PDF|zip)
- Examples of 2D & 3D graphs v0.85 (pdf)
- Graphs wiki (plots shown in this page)

Color snippets (to help with color handling):