#include " STDAFX.H " の#include <GL / glut.h> / * 初期表示ウィンドウサイズ* / GLsizei winWidth = 600、winHeight = 500 。 / * ラスタ位置を初期化* / グリントxRaster = 25、yRaster = 150 。 GLubyteラベル[ 36 ] = { ' J '、' '、' N '、' F '、' E '、' B ' ' M ' ' ' ' R ' ' A ' ' P ' ' R ' ' M ' ' ' ' Y ' ' J ' ' U ' ' N ' 、 ' J '、' U '、' L '、' A '、' U '、' G '、' S '、' E '、' P ' 、 ' O '、' C '、' T '、' N '、' O '、' V '、' D ' ' E ' 'C ' }。 グリントDataValueは[ 12 ] = { 420、342、324、310、262、185 、 190、196、217、240、312、438 }。 無効 INIT(ボイド) { glClearColor(1.0、1.0、1.0、1.0)。// 白表示窓。 glMatrixMode(GL_PROJECTION)。 gluOrtho2D(0.0、600.0、0.0、500.0 )。 } ボイド lineGraph(ボイド) { グリント月、K。 グリントX = 30。// チャートのx位置を初期化します。 glClear(GL_COLOR_BUFFER_BIT)。// クリア表示ウィンドウ。 glColor3f(0.0、0.0、1.0)。// 青に線の色を設定します。 glBegin(GL_LINE_STRIP)。// ポリラインとしてプロットデータ。 用(K = 0、K < 12 ; kは++ ) glVertex2i(X + K *50 、DataValueは[K])。 glEndの(); glColor3f(1.0、0.0、0.0)。// 赤へのSerマーカーの色。 用(K = 0、K < 12 ; kは++){ // アスタリスクpolymakersとしてプロットデータ。 glRasterPos2i(xRaster + K * 50、DataValueは[K] - 4 )。 glutBitmapCharacter(GLUT_BITMAP_9_BY_15、' * ' ); } glColor3f(0.0、0.0、0.0)。// 黒へのSerテストカラー。 xRaster = 20。// 表示するグラフのラベル。 用(月= 0 ;月< 12 ;月++ ){ glRasterPos2i(xRaster、yRaster)。 用(K = 3 *月; K < 3 *月+ 3 ; ++ k個) glutBitmapCharacter(GLUT_BITMAP_HELVETICA_12、ラベル[K])。 xRaster + = 50 。 } にglFlush()。 } ボイドwinReshapeFcn(グリントnewWidth、グリントnewHeight) { glMatrixMode(GL_PROJECTION)。 glLoadIdentity(); gluOrtho2D( 0.0、GLdouble(newWidth)、0.0 、GLdouble(newHeight))。 glClear(GL_COLOR_BUFFER_BIT)。 } ボイドメイン(int型 ARGC、チャー ** ARGV) { glutInit( &ARGC、ARGV)。 glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB)。 glutInitWindowPosition(100、100 )。 glutInitWindowSize(winWidth、winHeight)。 glutCreateWindow(「折れ線グラフのデータプロット」); その中に(); glutDisplayFunc(lineGraph)。 glutReshapeFunc(winReshapeFcn)。 glutMainLoop(); }