byeGraph_Logo2.gif

Japanese2.png

Top page / Overview & Download / Basic usage / Sample data
Version 2.5 / Bug info / Version history / Q & A / Donation


New Features in ByeGraph 2.5

  1. Dividing Data (Data segment)
  2. Serial Parameter
  3. Multiple Graphs
  4. [Expressions] Logical operators, Relational operators
  5. Others

1. Dividing Data (Data segment)

In the data part, you can divide data in the same row into multiple data blocks by inserting the word “#break”. These sets of data which were divided are called “Data Segments”. Here is an example that has tree data segments into which X, Y2 and Y2 row data were divided. (The part of “:” is omitted.) The number of rows for each data segment must be the same as the others.

!      A    B
! Beginning of the 1st segment
0.75 0.80 1.93
1.09 1.02 2.38
       :
2.20 1.33 3.15
2.49 1.36 3.22
#break
! Beginning of the 2nd segment
2.32 0.70 2.53
2.61 0.92 2.75
       :
4.30 1.80 3.41
4.59 1.86 3.48
#break
! Beginning of the 3rd segment
4.40 0.90 2.82
4.79 1.04 3.06
       :

A benefit of using data segments is to be able to regard a piece of row data as independently multiple data. For example, this graph shows that a piece of row data consists of 3 data segments that indicate nonconsecutive data. (Those cannot be connect each other.) Like this graph, you can set deferent attributes, such as line type and colors, for each of data segment.

(An example graph for multiple data segments)
h_sydt01.png


2. Serial Parameter

Serial parameters are specified by =[,,,] and allowed to hold up to 16 elements. The deference between the serial parameter and the normal parameter is illustrated below.

h_syex_01_j.png

If you use serial parameters, a pair of x and y data trains is outputted repeatedly up to the same number as the parameters. Serial parameters cannot be used together with normal parameters. As a result, x and y data trains outputted from expressions including serial parameters are equal to “Data Segments” that are used in the “Data”.

By using serial parameters, the following applications become newly possible.
• Plot function curves that have different x domains (See below)
• Use multiple parameters in parametric calculation (See Application Notes)
Read multiple data segments

As an example which is one of the three applications above in which serial parameters are used, the followings are expressions to create a graph (illustrated below) of quadratic curves which have two different domains of definition by shifting the range of the variable x.

oft=[1,-1] @
x=<-2+oft:2+oft:0.1> @
p=[1,-1]@
q=[2,-2]@
y=2*(x-p)^2+q

h_syex_serialpara.png


3. Multiple Graphs

By choosing the “Multi” item from the Graph size pop-up menu on the Source data setting panel, you can create a “Multiple Graphs” that arranges multiple graphs vertically. About the graph unit for Multiple Graphs, which means which data it consists of, you can specify it by choosing one from

(1) each plot data
(2) data segment or section (A, B, C, Exp)

on the Preferences panel.

The X axis of each graph in multiple graphs uses the same scale as the others. And The Y axis uses either Y1 or Y2 scale alone, or both. And, depending on the graph type you want to create, you cannot choose “Multi” graphs for the graph.

(An example for Multiple graphs)
h_sydt_multi.png


4. [Expressions] Logical operators, Relational operators

As operators which can be used in expressions, three kinds of logical operators are newly added: &(AND), |(OR) and \(NOT). (\ is the monomial operator. & and | are binomial operators.) And in the earlier versions, although relational operators have been allowed to inhabit only inside the “test” expression of the switch(“test”,A:B) function, the restriction is completely removed.

The order of priority among operators is as follows.

'|' << '&' << '>,<,≥,≤,=,≠' << '+,-' << '*,/' << '^' << '\'

The following expressions is an example for logical calculation using logical operators.

%data
0 0
1 1
0 1
1 1
0 0
1 0
0 1
1 0
0 0
%end
%format d
%label "a" "b" "a AND b" "a OR b"
x=<0:#DREADMAX-1:1>@
a=dread(x,0)@
b=dread(x,1)@
y={a,b,a&b,a|b}

(Calculation results)

0 0 0 0 0
1 1 1 1 1
2 0 1 0 1
3 1 1 1 1
4 0 0 0 0
5 1 0 0 1
6 0 1 0 1
7 1 0 0 1
8 0 0 0 0

bg_new_2.5_s1.png

5. Others

  • Implementing rounding function
  • Making Data Labels invisible as an option
  • Being suitable to QuickLook (for documents created from BG 1.6 or later)
  • Straightening Line objects