1 | (* This is a graph for Figure 2 of the USENIX jgraph abstract. It shows |
---|

2 | how to extract points from a data file with awk, and how to use awk |
---|

3 | to plot a function to match the data (the function that is plot here |
---|

4 | is (n/k)log(n), where k is expermentally chosen to be 35000. |
---|

5 | |
---|

6 | There are two graphs plotted -- the first is the actual jgraph. The |
---|

7 | second is a text string showing the input for the graph. Print it |
---|

8 | out -- you'll see what I mean. |
---|

9 | |
---|

10 | *) |
---|

11 | |
---|

12 | newgraph |
---|

13 | xaxis size 2.5 |
---|

14 | hash_labels font Helvetica |
---|

15 | label : Number of indexed Records (N) |
---|

16 | yaxis size 2.1 |
---|

17 | label : Running time (seconds) |
---|

18 | hash_labels font Helvetica |
---|

19 | |
---|

20 | newcurve |
---|

21 | marktype cross |
---|

22 | label : Data |
---|

23 | pts shell : awk '{print $5, $8}' data.txt |
---|

24 | |
---|

25 | newcurve |
---|

26 | marktype none linetype solid |
---|

27 | label : N log N / 35000 |
---|

28 | pts shell : awk \ |
---|

29 | ' $5 != 0 { \ |
---|

30 | print $5, $5 * log($5) / 35000}' \ |
---|

31 | data.txt |
---|

32 | |
---|

33 | copygraph |
---|

34 | x_translate -3.1 |
---|

35 | border |
---|

36 | xaxis nodraw min 0 max 1 size 2.3 |
---|

37 | yaxis nodraw min 0 max 1 |
---|

38 | |
---|

39 | newstring hjl vjc x .03 y .5 font Courier fontsize 6 : |
---|

40 | xaxis size 2.5 \ |
---|

41 | hash_labels font Helvetica\ |
---|

42 | label : Number of indexed Records (N)\ |
---|

43 | yaxis size 2.1 \ |
---|

44 | label : Running time (seconds)\ |
---|

45 | hash_labels font Helvetica\ |
---|

46 | \ |
---|

47 | newcurve \ |
---|

48 | marktype cross\ |
---|

49 | label : Data\ |
---|

50 | pts shell : awk '{print $5, $8}' data.txt\ |
---|

51 | \ |
---|

52 | newcurve\ |
---|

53 | marktype none linetype solid\ |
---|

54 | label : N log N / 35000\ |
---|

55 | pts shell : awk \\ |
---|

56 | ' $5 != 0 { \\ |
---|

57 | print $5, $5 * log($5) / 35000}' \\ |
---|

58 | data.txt\ |
---|