PRB: M6101 on PG Scatter Charts with Autoscaling OffLast reviewed: July 17, 1997Article ID: Q62627 |
5.10 6.00 6.00a 6.00ax 7.00 | 1.00 1.50
MS-DOS | WINDOWSkbprg kbprb The information in this article applies to:
SYMPTOMSIf you turn autoscaling off in a presentation graphics scatter chart, your program may fail and display the following error message when you call the _pg_chartscatter() or _pg_chartscatterms() functions:
run-time error M6101: MATH - floating-point error: invalid CAUSEThis error is occurring because when autoscaling is turned off, there are several variables that need to be set. These variables are automatically determined when autoscale is set to true. The variables are scalefactor, scalemax, scalemin, scaletitle, ticdecimals, ticformat, and ticinterval. Brief descriptions of these variables can be found by searching on _axistype in the online help for the run-time library.
MORE INFORMATIONThe following sample code will reproduce the M6101 run-time error. To eliminate the error uncomment the section of code where scalefactor and the other variables are initialized.
/* Compile options needed: none Additional libraries needed: GRAPHICS.LIB and PGCHART.LIB */ #include <conio.h> #include <graph.h> #include <string.h> #include <stdlib.h> #include <pgchart.h> #define ITEMS 5 #define SERIES 2float _far people[SERIES][ITEMS] = { { 235.F, 423.F, 596.F, 729.F, 963.F }, { 285.F, 392.F, 634.F, 801.F, 895.F } };float _far profits[SERIES][ITEMS] = { { 0.9F, 2.3F, 5.4F, 8.0F, 9.3F }, { 4.2F, 3.4F, 3.6F, 2.9F, 2.7F } }; char _far *companies[SERIES] = { "Goodstuff,Inc.", "Badjunk & Co." }; void main(){ chartenv env; if ( !_setvideomode( _MAXRESMODE ) ) /* Find a valid graphics mode */ exit( 1 ); _pg_initchart(); /* Initialize chart system */ /* Show single-series scatter chart. */ _pg_defaultchart (&env, _PG_SCATTERCHART, _PG_POINTONLY ); strcpy( env.maintitle.title, "Goodstuff, Inc." ); strcpy( env.xaxis.axistitle.title, "Employees" ); strcpy( env.yaxis.axistitle.title, "Profitability" ); /* Turn off autoscaling for yaxis to cause error */ env.yaxis.autoscale=0; /* Note: to eliminate the error, uncomment the following section */ /* env.yaxis.scalefactor=1000; env.yaxis.scalemax=1.0; env.yaxis.scalemin=0.0; env.yaxis.ticdecimals=0x0001; env.yaxis.ticformat=0x0001; env.yaxis.ticinterval= 0.5; */ /* M6101 run-time error will occur when calling _pg_chartscatter */ _pg_chartscatter( &env, people[0], profits[0], ITEMS ); getch(); _clearscreen( _GCLEARSCREEN ); _setvideomode( _DEFAULTMODE );}
|
Additional reference words: 5.10 6.00 6.00a 6.00ax 7.00 1.00 1.50
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |