MATH 1441 Technical Mathematics for Biological Sciences Semilogarithmic Graphs This is the first of two documents in which we extend the basic ideas presented in the preceding document, "The Equation of the Straight Line" to explore the construction, interpretation, and application of graphs in which logarithmic scales are used. The material in this document is based very closely on the general principles we've already described in connection with the graph and equation of a straight line. It would be good if you understood those well (and so it might be worth reviewing that document before attempting to work through this one). Even so, the discussion and examples given below should give you a deeper understanding of those principles as well. Just one caution here: the limitations of our graphics software (and our ability to use it) will mean that the illustrations in this document are considerably less detailed, and certainly not identical in appearance to the sort of graphs and graph paper you will use in class. We will attempt to make up some of this deficiency with the discussion, but it will require some effort on your part to match the observations and calculations given below with what you would actually encounter solving the same problems with pen and paper graphs. Semi-logarithmic Graphs: The Strategy Behind the Graph The problem addressed here is as follows: suppose you are presented with a set of observations in the form of values of y for a sequence of values of t, and it is speculated that the relationship between y and t is an exponential one: y a er t (1) The goal here is in two steps: (i) to first confirm that it is reasonable to conclude that the relationship between the y-values and the t-values really is formula (1), and (ii) if the answer to (i) is "yes", then, to obtain "best estimates" of the constants 'a' and 'r' in formula (1) for this data. Goal (i) will be accomplished by devising a way of graphing the data so that if formula (1) is the appropriate relationship, the graph will turn out to be a straight line (or points apparently scattered uniformly along a straight line path). We've already discussed the reasons why such an approach is necessary. Although simply plotting the y values themselves might give us a curve that looks something like an exponential curve, we can never positively distinguish one curved shape from other geometrically similar shapes (but having very different mathematical formulas). The only "curve" which the human eye is really capable of identifying unambiguously is the straight line, and so this is the shape of graph we need to rely on. The second goal could be achieved rather trivially if we only had two observations. Then substituting those two pairs of values of y and t into formula (1) would give us a system of two equations in the two unknowns, 'a' and 'r', which could be easily solved using the method already described in the course, and the problem would be solved. However, in real life, few practitioners feel confident in experimental results based on just two observations. However, once you have three or more observations, this simple approach doesn't work in general. (The problem is that while in theory, the observations should all give points on the same straight line, the presence of random observational errors that cannot be entirely eliminated in practice, means that the observations will be scattered along the actual true straight line graph. This is true even when you just have two observations, but you don't notice it because you can always find a straight line that passes through two points, no matter how much in error they might really be!) It turns out that the straight-line graph approach solves this problem automatically in a very effective way -- it really amounts to a method for averaging out the random errors of observation. The principle used to achieve the first goal is to first note that formula (1) can be rewritten in logarithmic form: David W. Sabo (1999) Semilogarithmic Graphs Page 1 of 11 ln y r t ln a (2) Recognizing that 'r' and 'a' (and hence ln a) are constants for a particular exponentially growing or decaying system, we see that formula (2) has the form of the equation of a straight line if we plot the value of t as the horizontal coordinate, and the value of ln y as the vertical coordinate. Thus, for (y, t) data which satisfies formula (1), and hence also the equivalent formula (2), a straight line graph will result if instead of plotting the points at a vertical position proportional to the value of y, we plot the points at a vertical position proportional to the value of ln y. The horizontal position remains proportional to the value of t. Example 1: To test this idea, we can create some fake data which accurately satisfies a specific instance of formula (1). Suppose r = 0.25/minute and a = 5, that is, that y 6 e0.25t Then, in a perfect world, if we were to take measurements of y when t = 0, 1, 2, 3, …, 10 minutes, we would observe the following values: Example 1 y 7.70 9.89 12.70 16.31 20.94 26.89 34.53 44.33 56.93 73.09 90 80 70 60 50 y t 1 2 3 4 5 6 7 8 9 10 40 30 20 10 0 0 2 4 6 8 10 12 t (minutes) The graph of this data is shown to the right above, and you can see that it has the sort of shape that we expect of a graph of exponential data plotted in the usual y vs. t format. A smooth exponential-looking curve passes through all ten points (because we calculated the coordinates of those points exactly using the exponential formula just above). Now, we'll redraw this graph, but instead of plotting the points at a vertical position equal to their y-values, we'll plot them at a vertical position equal to the values of ln y. To do this, we must first extend our Example 1 table of data to include the values of ln y. 6.0 y 7.70 9.89 12.70 16.31 20.94 26.89 34.53 44.33 56.93 73.09 ln y 2.042 2.292 2.542 2.792 3.042 3.292 3.542 3.792 4.042 4.292 5.0 4.0 ln y t 1 2 3 4 5 6 7 8 9 10 3.0 2.0 1.0 0.0 0 2 4 6 8 10 12 t (minutes) The resulting graph is shown above to the right, and Page 2 of 11 Semilogarithmic Graphs David W. Sabo (1999) we see that the points do indeed fall exactly along a straight line. Both graphs above represent exactly the same data. The shape is different because we have chosen to use a different approach to determine the vertical positions of the points in the two graphs. What this simple example demonstrates so far is that if we plot exponential data, (y, t), by placing the points at a vertical position proportional to the value of ln y and a horizontal position proportional to the value of t, then the graph that results is a straight line. We call this second graph a semilogarithmic graph, because one of the two axes (usually the vertical one) has a logarithmically spaced scale, whereas the other axis (usually the horizontal one) still has the usual uniform numerical scale. Example 2: Consider, now, the following set of data, which is more typical of the actual sort of data one might obtain for a potentially exponentially growing system: t (minutes) 2.5 2.8 5.4 6.5 9.2 9.5 11.0 13.3 14.6 16.4 y 10.07 13.07 14.59 20.70 27.94 31.50 40.04 49.90 64.72 75.57 ln y 2.310 2.570 2.680 3.030 3.330 3.450 3.690 3.910 4.170 4.325 We've tabulated the values of ln y along with the (y, t) data values in the table. We get the following two graphs from this data: Exponential Growth: Example 2 Example 2 4.500 100.0 90.0 4.000 80.0 70.0 ln y 3.500 y 60.0 50.0 3.000 40.0 30.0 2.500 20.0 10.0 2.000 0.0 0.0 0.0 5.0 10.0 15.0 20.0 5.0 10.0 15.0 t t The graph on the left is suggestive of an exponential growth relationship between y and t, in that the points seem to lie along an approximately exponentially-shaped curved path. However, it is quite clear from the graph on the right that the points do lie scattered along a straight-line path. You can see from the rough line sketched in that the pattern of points does not curve systematically in one direction or another. Since the graph of ln y against t is a straight line, we know that the equation relating these two quantities must be of the form of formula (2) above. But since formula (2) is equivalent to formula (1), we have demonstrated that the data presented above is consistent with formula (1) -- the relationship between the y values and the t values is exponential. So, the strategy used to achieve the first goal in this problem is clear: Rather than plotting the y-values vertically against the t-values horizontally, we plot the values of ln y vertically against the values of t David W. Sabo (1999) Semilogarithmic Graphs Page 3 of 11 20.0 horizontally. If the plotted points appear to be scattered about a straight line path, then we are justified in concluding that the data is consistent with an exponential relationship, formula (1). If plotting ln y vs t gives a pattern of points which appears to curve in one direction or another, we know for sure that the data is not consistent with formulas (1) and (2), and so the relationship between y and t is not exponential. The strategy used to achieve the second goal exploits properties of the equation of a straight line with which you are very familiar. Having observed a straight line graph resulting from plotting the ln y values vertically against the t values horizontally, we know that the equation of that straight line must be formula (2) above. But this means that: the coefficient, r, of t is the slope of the line. Thus, to calculate an estimate of r, we need simply calculate the slope of the line. when t = 0, we have y = a (or equivalently, ln y = ln a). Thus, if the line in the graph crosses the position t = 0, we can read the value of ln a directly from the graph, from which we can easily calculate the value of 'a'. If the line in the graph doesn't extend across t = 0 on the graph we have, we can simply determine the (y, t) coordinates of any other point on the line and substitute them into formula (1). Since we now have a value for r, the only unknown is 'a', which can thus be easily computed. It is important to keep in mind that these two sets of calculations are done using coordinates of points on the straight line we have drawn, and not with the coordinates of any of the plotted points. You first plot the data points individually. Then, using a ruler that is transparent enough for you to see all of the plotted points, draw a line through the center of the pattern of points so that the pattern of points is separated into two roughly equal parts, above and below the line. The idea here is that the line represents the pattern of points you'd get if there were no random experimental errors occurred. We expect that the random errors would show a relatively uniform pattern over the range of values of t for which observations were made. Thus, the line should be drawn to avoid any systematic clustering of points above and/or below the line in particular regions. The line thus serves as an 'averaging" tool over all of the observations. All subsequent calculations are based on the line itself and coordinates of points on the line, because the points on the line are considered to be more accurate than any of the plotted points representing individual observations. We will illustrate these calculations by continuing the two examples begun earlier. Example 1 continued… This is a good one to start out with because we actually know what the values of r and 'a' are. We need the coordinates of two points on the line of the graph. For most accurate results, these points should be as far apart as possible. The best idea when you are doing these graphs and calculations by hand is to select the two points where the line leaves the grid area of the graph paper. Not only are those two points as far apart as possible, but it you don't have to do any work to get two of the four required coordinate values. t = 12.0 ln y = 4.80 t = 0.0 ln y = 1.80 In this case, the line leaves the grid area of the graph paper at t = 0 on the left and at t = 12 on the right. When t = 0, we read ln y 1.80, and when t = 12, we read ln y 4.80. First, calculate the slope of the line: Page 4 of 11 Semilogarithmic Graphs David W. Sabo (1999) r slope actual rise actual run Now, since both scales of values in this graph are uniform scales, the actual distances in the vertical and horizontal directions are just the differences between the coordinates of the two points. Thus r actual rise 4.80 1.80 3.00 0.25 actual run 12.0 0.0 12.0 This is exactly the value of r that we previously used to set up the data to create the graph, so we have consistency in this calculation. In this case, we can obtain the coordinates of the point at which t = 0: they are (0, 1.80). Thus, we conclude that at the level of accuracy with which we drew the graph, ln a = 1.80 so a e1.80 6.05 This is in not too bad agreement with the known value a = 6 that we used to construct the original data. The small discrepancy is due to the limited precision with which we were able to read coordinates from the graph. With a really carefully drawn graph on millimeter ruled graph paper, we could have probably gotten one additional decimal place of precision, which should have given very good agreement between the values of a and r we started with, and the ones we computed from the graph constructed with the data. t = 17.21 ln y = 4.500 Example 2, continued… The graph of ln y vs t for Example 2 is shown to the right again. The line that looks like the best fit in our judgment leaves the grid area at the points: t = 0.00 ln y = 2.05 t = 0.0, ln y = 2.05 and t = 17.21, ln y = 4.500 Thus, the computation of the slope, giving the value of r is r slope actual rise 4.500 2.05 0.1424 actual run 17.21 0 Again, we have a point on the line with t = 0, giving ln a = ln y(t = 0) = 2.05 so that a e2.05 7.768 Thus, in summary, we can say that the data presented earlier in connection with this example is consistent with an exponential growth model formula, and that our best estimate of that formula is David W. Sabo (1999) Semilogarithmic Graphs Page 5 of 11 y 7.768 e0.1424t Before leaving this example, we note that from the value of r, it is possible to compute an estimate of the doubling time for this system: t2 ln2 ln2 4.868 r 0.1424 Example 3: The following data was collected as part of a lengthy experiment to determine the persistence of a genetic treatment in an experimental subject. Whenever blood samples were taken as part of ongoing medical care and monitoring, the concentration of a particular molecule was determined. Sampling times, t, are recorded in units of months, and the concentration, y, of the molecule of interest is in units of g per litre. The twelve observations are as follows: t (months) 1.3 3.6 5.3 8.5 11.7 13.4 t (months) 15.9 18.1 20.5 21.3 22.1 24.4 y (g/litre) 341.96 225.38 115.93 107.88 70.08 40.32 y (g/litre) 17.04 12.48 8.37 8.00 10.44 4.08 The problem here is to determine whether or not the concentration of this molecule decays exponentially with time, and if so, what is the half-life of the concentration. Solution We know the strategy now. First, we plot the values of ln y vertically against values of t horizontally. If a straight line plot results, we have confirmation that there is an exponential relationship, formula (1), between y and t. The slope of that straight line will give us an estimate of the decay rate constant, r, from which we can calculate the half-life of this process. First, we must tabulate the natural logarithms of the y-values. This is easy to do, even if it is rather tedious: y 341.96 225.38 115.93 107.88 70.08 40.32 17.04 12.48 8.37 8.00 10.44 4.08 ln y 5.835 5.418 4.753 4.681 4.250 3.697 2.836 2.524 2.125 2.079 2.346 1.406 Example 3 7.000 6.000 5.000 ln y t 1.3 3.6 5.3 8.5 11.7 13.4 15.9 18.1 20.5 21.3 22.1 24.4 4.000 3.000 2.000 1.000 0.000 0.0 5.0 10.0 15.0 20.0 25.0 t The graph of ln y vs. t is shown above to the right. There is a fair degree of scatter in the pattern of the points, but it is fairly clearly scatter along a straight line path. Thus, we conclude that this data is consistent with the relationship between y and t being exponential. In fact, we can see from both the data and the graph that this must be a case of exponential decay, because y is decreasing in value as time passes. Page 6 of 11 Semilogarithmic Graphs David W. Sabo (1999) We've indicated with square boxes on the graph the two points where the straight line leaves the grid area of the graph. These have the coordinates t = 0.0 ln y = 6.07 t = 25.0 ln y = 1.42 and (You won't be able to read the coordinates of these two points this precisely from the small illustration just above in this document. However, if you constructed the graph on a standard sheet of millimeter-ruled graph paper, you should be able to achieve this degree of precision.) So now, we can calculate: r slope actual rise 6.07 1.42 0.186 actual run 0.0 25.0 But, with this estimate of r, we can now compute t1 2 ln0.5 ln0.5 3.727 months r 0.186 The units of t1/2 arise from the fact that r has units of /month. Thus, the concentration of the molecule of interest in this case has been confirmed to be decaying exponentially with time, and we've been able to estimate the half-life of that concentration as approximately 3.727 months. Incidentally, because we observed that ln y = 6.07 when t = 0, we can also compute a e6.07 433 g / litre which completes the formula for y in terms of t, and also gives us an estimate of the concentration of this molecule in the blood when the experiment began. Using Semilogarithmic Graph Paper What makes the methods described and illustrated above work is that the points are plotted so that their vertical position is not proportional to the value of y, but rather, is proportional to the value of ln y. To achieve, this, we had to calculate the natural logarithm of each observed value of y, and plot that value. In the good old days before electronic calculators and computers, the determination of the natural logarithms of the y-values was a fairly tedious step in an overall process that was even more tedious. People realized, however, that this step of calculating logarithms could be avoided by using graph paper in which the gridlines were drawn so that they were spaced in proportion to the values of the natural logarithms of numbers. Particularly when semilogarithmic graphs are being prepared manually, the use of such paper is a great convenience. Even though now people almost always use a computer application to prepare graphs, the graphs are still often displayed with logarithmically-spaced gridlines, and so it is necessary for you to know how to prepare such graphs, and how to analyze and interpret them to be able to get estimates of the values of 'r' and 'a' in formula (1). Just over the page is a simplified illustration of what semi-log-ruled graph paper might look like. David W. Sabo (1999) Semilogarithmic Graphs Page 7 of 11 10 y 1 1 1 t Commercially prepared graph paper of this type would have many more gridlines in both directions, but the essentially features of the paper are shown by this diagram. The horizontal scale is ruled with uniformly-spaced gridlines. The most commonly available graph papers of this type have eight major gridlines one inch apart, and minor gridlines 0.1 inches apart in the horizontal direction. We've shown just the major grid lines above. You can easily see that the gridlines are not uniformly spaced in the vertical direction, but instead form repeating bands of gridlines that start far apart and get closer together. Each such band (called a cycle) corresponds to values between two consecutive powers of ten. Typically, the beginning of each cycle is labeled with a 1, which you would replace by the appropriate power of 10 when you are planning your graph. In the illustration above, we've just shown the major intermediate gridlines, which would typically be labeled by consecutive integers: 2, 3, 4, 5, 6, 7, 8, and 9 (we omitted these labels in the figure above because of lack of room). Usually, there are 5, 10, or even more minor gridlines between these major intermediate gridlines depending on space available. Now, when you plot points on this graph paper, you plot the actual y-values directly, using the numerical scale values indicated with the non-uniform gridlines in the vertical direction. To start, you determine the power of ten which brackets the y-values from below. For instance, if the smallest value of y in the data was 37, then the power of 10 bracketing the data from below would be 10 1 or 10. In most cases, this means that you would relabel the lowest gridline with a '1' as '10'. Then, the next '1' up would be relabeled '100', the next '1' up would be relabeled '1000' and so on. Further, the intermediate major gridlines are relabeled to match. So the intermediate gridlines between 10 and 100 would be relabeled 20, 30, 40, 50, 60, 70, 80, and 90. The intermediate major gridlines between 100 and 1000 would be relabeled 200, 300, 400, 500, 600, 700, 800 and 900. The point of all this relabelling is that now, when you plot the actual y-values according to this relabeled scale, the vertical distances to the points will turn out to be proportional to the logarithms of the y-values. Thus, without having to actually calculate the logarithms of the y-values, we will get a graph in which the vertical distances to the points will be proportional to the logarithms of the y-values. By spacing the gridlines in this non-uniform manner, the printer has really turn the graph paper into a logarithm calculator. Just a few more remarks before we illustrate the use of such graph paper with the data in Examples 1 - 3 discussed previously. Unlike using uniformly ruled graph paper, we obviously cannot place our axes and plot our graph just anywhere on logarithmically ruled paper. The gridlines labeled with 1's must always correspond to successive powers of 10. Similarly, this means that you cannot "rescale" the vertical axis to fit a broader range of values than the paper was designed to handle. The figure up above shows a paper with three cycles, and that means that the y-values plotted have to fit within the range of three powers of ten. Thus, this paper would be suitable if the y-values all fell into the range 1 to 1000, or 10 to 10000, or 0.01 to 10, etc. If your y-values ranged from near 0.01 to near 100, a span of four powers of ten, we would need graph paper with four logarithmic cycles in the vertical direction. Logarithmically-ruled graph papers come with a range of cycles, from as few as one cycle to perhaps as many as five cycles on standard sized sheets of paper, and a person doing a lot of graphs on such paper manually would have to have a stock of paper with a variety of cycles in order to accommodate varying ranges of values in the data. Page 8 of 11 Semilogarithmic Graphs David W. Sabo (1999) Example 1 continued … The data we used in example 1 is reproduced in the table below. The values of y range from a minimum of 7.70 to a maximum of 73.09. The first power of 10 less than 7.70 is 100 = 1, and the first power of 10 greater than 73.09 is 102 = 100. Thus, our vertical logarithmic scale must cover the interval 10 0 = 1 up to 102 = 100, two cycles in all. t = 11.25 y = 100 t 1 2 3 4 5 6 7 8 9 10 y 7.70 9.89 12.70 16.31 20.94 26.89 34.53 44.33 56.93 73.09 80.0 70.0 60.0 50.0 40.0 30.0 20.0 10.0 It is most efficient to use two-cycle semilogarithmic graph paper to plot this data. The lowest grid line on the paper is labelled y = 1, the beginning of the second cycle from the bottom is labeled y = 10, and the top of the second cycle (which would be the top gridline of two-cycle paper) would be labeled y = 100. It's best to actually write these labels directly on the paper to begin with. You might also label the major intermediate gridlines in the second cycle with the values 20, 30, 40, 50, 60, 70, 80 and 90. It should be quite clear how to do this. 8.0 7.0 6.0 5.0 4.0 3.0 2.0 t = 0.0 y=6.0 1.0 You need to also set up a horizontal scale. Since the paper will likely have about seven major divisions horizontally, and t varies from 1 to 10 here, it is probably most convenient to have each major division in the horizontal direction correspond to an interval of 2 in the values of t, starting with t = 0 at the left edge of the paper. Now, simply plot the (t, y) values as points at the positions indicated by the two scales of numbers. By plotting the values of y directly as indicated by the gridline labels, the vertical distances to each point will end up being proportional to the logarithms of the y-values. The sort of graph you end up with is shown in the figure above to the right. Because of limited space here, we've omitted all of the minor gridlines, and some of the labels along the vertical axis. As in previous graphs involving this data, the points all lie along the same straight line because the numbers themselves were generated to fit a particular exponential growth formula exactly. This is our simple test case for the methods explained in this document. Getting a straight line graph in this way confirms that the relationship between y and t is an exponential relationship, formula (1), because we have effectively positioned the points at vertical distances proportional to ln y. We've reviewed the argument many times that a linear relationship between ln y and t is equivalent to an exponential relationship between y and t. What's left to do then is to compute the best estimates of the constants 'r' and 'a' in formula (1). The straight line graph here confirms formula (2) is correct, indicating the slope of the line is the value of r. To calculate the slope of the line, we read the coordinates of two widely separated points on the line. In the figure, we've identified the two points where the line leaves the gridline area: t = 0.0, y = 6.00 and t = 11.25, y = 100.0 David W. Sabo (1999) Semilogarithmic Graphs Page 9 of 11 Thus, r slope actual rise ln100.0 ln6.00 0.250 actual run 11.25 0.0 Notice that the actual rise here is computed as the difference of the natural logarithms of the two ycoordinates. That is the correct formula because the horizontal gridlines semilogarithmic paper are spaced so that the actual vertical distances are proportional to the natural logarithms of the indicated scale values. Thus, the distance between the horizontal gridlines labelled y = 6.00 and y = 100.0 is not the difference of the y-values (as would be true with uniformly ruled graph paper), but is equal to the difference in the natural logarithms of these two values. From formula (1), a = y when t = 0. From the graph above, we see that y = 6.00 when t = 0, so we conclude that a = 6.00 in this case. Thus, from the semilogarithmic graph plotted just above, we conclude that the formula summarizing the data in the table above is y 6.00 e0.250t Example 2 continued … The values of y in Example 2 above range from a minimum of 10.07 to a maximum of 75.57, so that technically, one-cycle semilogarithmic graph paper will suffice in this case, with the cycle running from 10 to 100. The advantage of using a single-cycle sheet of paper is greater accuracy (because the region of the plotted points would occupy a greater proportion of the sheet), but has the disadvantage that the vertical intercept is now off the graph, making the calculation of the constant 'a' slightly more difficult. In the graph illustrated to the right, we've plotted the data in the upper cycle of a sheet of two-cycle paper. The points appear to be scattered uniformly about a straight-line path, confirming that the relationship between y and t in this data is exponential. We've noted the coordinates of the two most widely separated points on the graph: t = 0.0 y = 7.74 t = 17.95 y = 100 100.0 90.0 80.0 70.0 60.0 50.0 40.0 30.0 20.0 t=0 y = 7.74 10.0 9.0 8.0 7.0 6.0 5.0 4.0 3.0 2.0 and t = 17.95 y = 100. From these values we can calculate the slope of the line, giving the value of r: r slope 1.0 0.0 5.0 10.0 15.0 20.0 actual rise ln100.0 ln7.74 0.1425 actual run 17.95 0.0 Furthermore, one of the two points listed is the vertical intercept (since the t-coordinate is 0.0), and so we can say here that a = 7.74. Thus, it appears from this data that the best approximation to a formula relating y to t is Page 10 of 11 Semilogarithmic Graphs David W. Sabo (1999) y 7.74 e0.1425t If we had used single-cycle graph paper, we would have found that the point where the graph leaves the region of grid lines at the bottom would have the approximate coordinates: t = 1.80 y = 10.0 Now there is no visible vertical intercept from which we can read the value of 'a' directly. Instead we need to compute a value for 'a' given our value for r, and selecting values for y and t from the graph. For example, using t = 17.95, y = 100.0 and r = 0.1425, we get from formula (1) that a y rt e 100.0 7.747 0.1425 17.95 e which is quite close to the value we read off of the two-cycle graph directly. Example 3 continued … We need to say relatively little about solving Example 3 using the semilogarithmicallyruled graph paper. The y-values in the data range from a minimum of 4.08 to a maximum of 341.96, so we really need three-cycle semilogarithmic graph paper to plot the data (since we need to cover the range of y-values from y = 100 = 1 to y = 103 =1000). The resulting graph is illustrated to the right. We've determined the coordinates of two extreme points on the graph, from which you can calculate that the slope of the line, and hence the value of r is -0.1858. One of those two points is the vertical intercept, giving a = 431. This gives us the final formula relating y to t as t = 0.0 y = 431 100.0 10.0 y 431 e0.1858t This is very similar to the result we previously obtained using uniformly-ruled graph paper. t = 25.0 y = 4.14 1.0 David W. Sabo (1999) Semilogarithmic Graphs Page 11 of 11