## Table of content

- General information about curves
- curve.xcol / curve.ycol parameters
- curve.data parameter
- curve.color parameter
- curve.style parameter
- curve.hide parameter
- curve.title parameter

## General information about curves

The curves are lines which join the point. Point coordinates read from data (from command body or attached file). Chart can contain any count curves. The curves have names curve1, curve2, curve3 etc. Synonym curve1 is curve.
The simplest way to draw chart is to write data in plot command body. For example:

    (:plot:)
    1    10    20    30    40
    2    11    22    31    41
    3    13    24    33    42
    4    15    25    35    43
    5    16    26    36    44
    6    18    27    37    45
    7    20    30    38    46
    8    20    30    38    46
    9    20    30    38    46
    10   20    30    38    46
    (:plotend:)

The result will look like this:
Since in this example never was added any parameters and data contain more than one column, then X coordinates are the data from first column and Y coordinates are the data from second column. To add second curve suffice it to set any parameter for curve2. This will be showed in the next section.

## curve.xcol / curve.ycol parameters

Append the second curve. For curve2 Y coordinates will be read from column number 3. For that is used curve.ycol parameter.

    (:plot
    curve2.ycol = 3
    :)
    1    10    20    30    40
    2    11    22    31    41
    3    13    24    33    42
    4    15    25    35    43
    5    16    26    36    44
    6    18    27    37    45
    7    20    30    38    46
    8    20    30    38    46
    9    20    30    38    46
    10   20    30    38    46
    (:plotend:)

Similarly can change column number for Y coordinates of the first curve. For example:

    (:plot
    curve1.ycol = 4
    curve2.ycol = 3
    :)
    1    10    20    30    40
    2    11    22    31    41
    3    13    24    33    42
    4    15    25    35    43
    5    16    26    36    44
    6    18    27    37    45
    7    20    30    38    46
    8    20    30    38    46
    9    20    30    38    46
    10   20    30    38    46
    (:plotend:)

In the previous example expression curve1.ycol = 4 can replace to curve.ycol = 4.
Similarly can change X coordinates with curve.xcol parameter:

    (:plot
    curve1.xcol = 2
    curve1.ycol = 4
    :)
    1    10    20    30    40
    2    11    22    31    41
    3    13    24    33    42
    4    15    25    35    43
    5    16    26    36    44
    6    18    27    37    45
    7    20    30    38    46
    8    20    30    38    46
    9    20    30    38    46
    10   20    30    38    46
    (:plotend:)

If data contain only one column, default this column is selected as Y coordinate and X coordinates are sequence numbers 0, 1, 2,... For example:

    (:plot:)
    40
    41
    42
    43
    44
    45
    46
    46
    46
    46
    (:plotend:)

If data contain more than one column, such result can be achieved for axis X if give a parameter curve.xcol value number (curve.xcol = number). For example:

    (:plot
    curve1.xcol = number
    curve1.ycol = 4
    :)
    1    10    20    30    40
    2    11    22    31    41
    3    13    24    33    42
    4    15    25    35    43
    5    16    26    36    44
    6    18    27    37    45
    7    20    30    38    46
    8    20    30    38    46
    9    20    30    38    46
    10   20    30    38    46
    (:plotend:)

## curve.data parameter

In the previous examples data was written in the wiki page text. It may not be convenient for big data. The data can be read from attached text file. This files should contain data in same format. For example, attached file example_5.txt contain follow lines (this file will be used in examples this section):

    1    10    20    30    40
    2    11    22    31    41
    3    13    24    33    42
    4    15    25    35    43
    5    16    26    36    44
    6    18    27    37    45
    7    20    30    38    46
    8    20    30    38    46
    9    20    30    38    46
    10   20    30    38    46

To explain what data must be read from attached file, but not in command body, must be set the curve.data parameter. For example:

    (:plot
    curve.data="Attach:example_5.txt"
    :)
    (:plotend:)

Since the parameter value contain symbol ":", value must be quoted.

At that all others parameters are working as described above. For example:

    (:plot
    curve.data="Attach:example_5.txt"
    curve.xcol=1
    curve.ycol=2

    curve2.data="Attach:example_5.txt"
    curve2.xcol=1
    curve2.ycol=3
    :)
    (:plotend:)

## curve.color parameter

To change curve color use curve.color parameter. Color is given with using HTML color formats:

    (:plot
    curve.color="#1CE81C"
    curve.ycol=2

    curve2.color="#0BA"
    curve2.ycol=3

    curve3.color="rgb(180, 64, 180)"
    curve3.ycol=4

    curve4.color="black"
    curve4.ycol=5
    :)
    1    10    20    30    40
    2    11    22    31    41
    3    13    24    33    42
    4    15    25    35    43
    5    16    26    36    44
    6    18    27    37    45
    7    20    30    38    46
    8    20    30    38    46
    9    20    30    38    46
    10   20    30    38    46
    (:plotend:)

## curve.style parameter

With curve.style parameter can change line style: solid line, dashed line, dotted line, dash-dot line etc.
curve.style parameter can be string style name or style number. Possible values is shown in follow table:

Style number | Style name
1 | solid
2 | longdash
3 | shortdash
4 | shortdot
5 | shortdashdot
6 | shortdashdotdot
7 | dot
8 | dash
9 | dashdot
10 | longdashdot
11 | longdashdotdot

For example:

    (:plot
    curve.style="longdash"
    curve.ycol=2

    curve2.style=3
    curve2.ycol=3

    curve3.style="dashdot"
    curve3.ycol=4

    curve4.style="1"
    curve4.ycol=5
    :)
    1    10    20    30    40
    2    11    22    31    41
    3    13    24    33    42
    4    15    25    35    43
    5    16    26    36    44
    6    18    27    37    45
    7    20    30    38    46
    8    20    30    38    46
    9    20    30    38    46
    10   20    30    38    46
    (:plotend:)

Furthermore, curve.style parameter can be auto value. This value mean that style number will be equal curve number (for curve12 style number will be 1, for curve 13 style number will be 2 etc).
For example:

    (:plot
    curve.style=auto
    curve.ycol=2

    curve2.style=auto
    curve2.ycol=3

    curve3.style=auto
    curve3.ycol=4

    curve4.style=auto
    curve4.ycol=5
    :)
    1    10    20    30    40
    2    11    22    31    41
    3    13    24    33    42
    4    15    25    35    43
    5    16    26    36    44
    6    18    27    37    45
    7    20    30    38    46
    8    20    30    38    46
    9    20    30    38    46
    10   20    30    38    46
    (:plotend:)

## curve.hide parameter

To temporarily hide curve and do not remove all mention of it in plot command, can use curve.hide parameter. In follow example were set parameters for four curves and second curve was hided. In follow example for clarity used legend parameter also.

    (:plot
    curve.ycol=2
    curve2.ycol=3
    curve3.ycol=4
    curve4.ycol=5
    legend

    curve2.hide
    :)
    1    10    20    30    40
    2    11    22    31    41
    3    13    24    33    42
    4    15    25    35    43
    5    16    26    36    44
    6    18    27    37    45
    7    20    30    38    46
    8    20    30    38    46
    9    20    30    38    46
    10   20    30    38    46
    (:plotend:)

If curve.hide equal zero (curve.hide=0), this parameter will be ignored and curve will be not hided.

## curve.title parameter

In the previous example used legend parameter for showing of the legend. By curve.title parameter can change curve name.

    (:plot
    curve.ycol=2
    curve.title = "The first curve"

    curve2.ycol=3
    curve2.title = "The second curve"

    curve3.ycol=4
    curve3.title = "The third curve"

    legend
    :)
    1    10    20    30    40
    2    11    22    31    41
    3    13    24    33    42
    4    15    25    35    43
    5    16    26    36    44
    6    18    27    37    45
    7    20    30    38    46
    8    20    30    38    46
    9    20    30    38    46
    10   20    30    38    46
    (:plotend:)