Difference between revisions of "GraphsInTables"
Line 127: | Line 127: | ||
<li> |
<li> |
||
Using a ColumnTable to put the graphics and text side-by-side is very useful when the text is long. If the graphic were below a long block of text, the student would have to scroll up and down frequently between the questions and the graphic, making it harder to use.</li> |
Using a ColumnTable to put the graphics and text side-by-side is very useful when the text is long. If the graphic were below a long block of text, the student would have to scroll up and down frequently between the questions and the graphic, making it harder to use.</li> |
||
− | <li>ColumnTable behaves well in TeX mode. The default in TeX mode is a two-column format for the printed page, which means that each column is very narrow. Using an ordinary table (instead of a ColumnTable) to put text and graphics side-by-side would likely mean that the graphics would spill over from the left column of the printed page to the right column of the printed page (causing text and graphics to overlap) or, worse yet, spill over from the right column of the printed page into oblivion. However, using a ColumnTable, the graphics will appear underneath the text, as desired.</li> |
+ | <li>ColumnTable behaves well in TeX mode. The default in TeX mode is a two-column format for the printed page, which means that each column is very narrow. Using an ordinary table (instead of a ColumnTable) to put text and graphics side-by-side would likely mean that the graphics would spill over from the left column of the printed page to the right column of the printed page (causing text and graphics to overlap) or, worse yet, spill over from the right column of the printed page into oblivion. However, using a ColumnTable, the graphics will appear underneath the text in TeX mode, as desired.</li> |
</ul> |
</ul> |
||
</p> |
</p> |
Revision as of 20:03, 11 February 2010
Putting Graphs into Tables
This PG code shows how to put graphs into tables so that they will be displayed compactly and a proper size in both HTML and TeX modes.
- Example 1: Putting a text block and a graph side-by-side using ColumnTable from unionTables.pl
Example 1: Putting a text block and a graph side-by-side using ColumnTable from unionTables.pl
PG problem file | Explanation |
---|---|
DOCUMENT(); loadMacros( "PGstandard.pl", "PGgraphmacros.pl", "MathObjects.pl", "unionTables.pl", # or "PGunion.pl", ); TEXT(beginproblem()); $refreshCachedImages=1; |
Initialization:
Be sure to load |
Context("Numeric"); $a = random(2,3,1); # -$a is the left x-intercept $b = random(2,4,2); # $b is the right x-intercept $c = random(1,4,1); # -$c is the y-intercept $k = $c/($a * $b); $A = $k; $B = $k*($a - $b); $C = -($c); $gr = init_graph(-5,-5,5,5,axes=>[0,0],grid=>[10,10]); add_functions($gr, "$A*x**2+$B*x+$C for x in <-5,5> using color:blue and weight:2"); $gr -> lb(new Label ( 4.5,0,'x','black','left','bottom')); $gr -> lb(new Label ( 0.25,8.5,'y','black','left','bottom')); $gr -> lb(new Label ( 0.25,$c,'y = f(x)','black','left','bottom')); |
Setup:
Generate a graph to be included in the main text. This graph is a parabola opening up with roots |
Context()->texStrings; BEGIN_TEXT \{ ColumnTable( "Use the graph to find the missing values. There may be more than one correct answer, in which case you should enter your answers as a comma separated list. If there are no correct answers, enter ${BITALIC}NONE.${EITALIC}". $BR. $BR. "(a) \( f(0) = \) ". ans_rule(7). $BR. $BR. "(b) \( f \big( \) ".ans_rule(7)." \( \big) = 0 \). ", # comma! image(insertGraph($gr), width=>400, height=>400, tex_size=>700). $BR.$BCENTER. "(Click on graph to enlarge)". $ECENTER, # comma! indent => 0, separation => 30, valign => "TOP" ) \} END_TEXT Context()->normalStrings; |
Main Text:
We use Using ColumnTable has two main advantages.
|
$showPartialCorrectAnswers = 1; ANS( List(-$c)->cmp() ); ANS( List(-$a,$b)->cmp() ); ENDDOCUMENT(); |
Answer Evaluation:
Since there may be multiple answers, we use |