<< Chapter < Page
  Digital signal processing - dsp     Page 21 / 25
Chapter >> Page >

The code in Listing 32 is relatively straightforward. This code simply iterates from the minimum x-value to the maximum x-value, calling theappropriate method (from f1 through f5 ) to get the new y-values. In the process, it calls the drawLine method of the Graphics class to connect the points.

The drawAxes method

As it turns out, it is more difficult to draw and label the axes with tic marks than it is to plot the actual data.

The code to accomplish this is shown in Listing 33 .

Listing 33. The drawAxes method.
void drawAxes(Graphics g){ g.setColor(Color.RED);//Label left x-axis and bottom // y-axis. These are the easy// ones. Separate the labels from // the ends of the tic marks by// two pixels. g.drawString("" + (int)xMin,getTheX(xMin), getTheY(xTicLen/2)-2);g.drawString("" + (int)yMin, getTheX(yTicLen/2)+2,getTheY(yMin)); //Label the right x-axis and the// top y-axis. These are the hard // ones because the position must// be adjusted by the font size and // the number of characters.//Get the width of the string for // right end of x-axis and the// height of the string for top of// y-axis //Create a string that is an// integer representation of the // label for the right end of the// x-axis. Then get a character // array that represents the// string. int xMaxInt = (int)xMax;String xMaxStr = "" + xMaxInt; char[]array = xMaxStr. toCharArray();//Get a FontMetrics object that can // be used to get the size of the// string in pixels. FontMetrics fontMetrics =g.getFontMetrics(); //Get a bounding rectangle for the// string Rectangle2D r2d =fontMetrics.getStringBounds( array,0,array.length,g);//Get the width and the height of // the bounding rectangle. The// width is the width of the label // at the right end of the// x-axis. The height applies to // all the labels, but is needed// specifically for the label at // the top end of the y-axis.int labWidth = (int)(r2d.getWidth());int labHeight = (int)(r2d.getHeight());//Label the positive x-axis and the // positive y-axis using the width// and height from above to // position the labels. These// labels apply to the very ends of // the axes at the edge of the// plotting surface. g.drawString("" + (int)xMax,getTheX(xMax)-labWidth, getTheY(xTicLen/2)-2);g.drawString("" + (int)yMax, getTheX(yTicLen/2)+2,getTheY(yMax)+labHeight); //Draw the axesg.drawLine(getTheX(xMin), getTheY(0.0),getTheX(xMax), getTheY(0.0));g.drawLine(getTheX(0.0), getTheY(yMin),getTheX(0.0), getTheY(yMax));//Draw the tic marks on axes xTics(g);yTics(g); }//end drawAxes

The code in Listing 33 is fairly complex, particularly with respect to putting the labels on the ends of the axes. However, I doubt that many of youare interested in the details, so I will let the comments suffice to explain the code.

Questions & Answers

how did the oxygen help a human being
Achol Reply
how did the nutrition help the plants
Achol Reply
Biology is a branch of Natural science which deals/About living Organism.
Ahmedin Reply
what is phylogeny
Odigie Reply
evolutionary history and relationship of an organism or group of organisms
AI-Robot
ok
Deng
what is biology
Hajah Reply
cell is the smallest unit of the humanity biologically
Abraham
what is biology
Victoria Reply
what is biology
Abraham
HOW CAN MAN ORGAN FUNCTION
Alfred Reply
the diagram of the digestive system
Assiatu Reply
allimentary cannel
Ogenrwot
How does twins formed
William Reply
They formed in two ways first when one sperm and one egg are splited by mitosis or two sperm and two eggs join together
Oluwatobi
what is genetics
Josephine Reply
Genetics is the study of heredity
Misack
how does twins formed?
Misack
What is manual
Hassan Reply
discuss biological phenomenon and provide pieces of evidence to show that it was responsible for the formation of eukaryotic organelles
Joseph Reply
what is biology
Yousuf Reply
the study of living organisms and their interactions with one another and their environment.
Wine
discuss the biological phenomenon and provide pieces of evidence to show that it was responsible for the formation of eukaryotic organelles in an essay form
Joseph Reply
what is the blood cells
Shaker Reply
list any five characteristics of the blood cells
Shaker
Got questions? Join the online conversation and get instant answers!
Jobilize.com Reply

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Digital signal processing - dsp. OpenStax CNX. Jan 06, 2016 Download for free at https://legacy.cnx.org/content/col11642/1.38
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Digital signal processing - dsp' conversation and receive update notifications?

Ask