使用OpenGL绘制下图所示的坐标轴、折线加柱状图,无需绘制数字和字母
glVertex(GLfloat x, GLfloat y);
gluOrtho2D(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top);
首先绘制坐标轴,也就是两条直线。y轴上的刻度可以用点进行绘制。柱状图就是分别绘制四边形,折线图的绘制是使用GL_LINE_STRIP图元进行绘制。
glLineWidth(1.3);
glColor3f(0.0, 0.5, 0.2);
glBegin(GL_LINES);
glVertex2f(0, -10);//y轴
glVertex2f(0, 400);
glVertex2f(-10, 0);//x轴
glVertex2f(400, 0);
glEnd();
glPointSize(4.0f);
glBegin(GL_POINTS);
glVertex2f(0,100); //100
glVertex2f(0,200); //200
glVertex2f(0, 300);//300
glEnd();
glBegin(GL_QUADS);
glColor3f(0, 0, 1);
glVertex2f(30, 0); //1
glVertex2f(60, 0);
glVertex2f(60, 120);
glVertex2f(30, 120);
glVertex2f(90, 0); //2
glVertex2f(120, 0);
glVertex2f(120, 280);
glVertex2f(90, 280);
glVertex2f(150, 0); //3
glVertex2f(180, 0);
glVertex2f(180, 130);
glVertex2f(150, 130);
glVertex2f(210, 0); //4
glVertex2f(240, 0);
glVertex2f(240, 125);
glVertex2f(210, 125);
glVertex2f(270, 0); //5
glVertex2f(300, 0);
glVertex2f(300, 285);
glVertex2f(270, 285);
glVertex2f(330, 0); //6
glVertex2f(360, 0);
glVertex2f(360, 185);
glVertex2f(330, 185);
glEnd();
glLineWidth(3);
glColor3f(1, 0, 0);
glBegin(GL_LINE_STRIP);
glVertex2f(45, 130);
glVertex2f(105, 290);
glVertex2f(165, 140);
glVertex2f(225, 135);
glVertex2f(285, 295);
glVertex2f(345, 205);
glEnd();
glPointSize(4);
glColor3f(0, 0, 0);
glBegin(GL_POINTS);
glVertex2f(45, 130);
glVertex2f(105, 290);
glVertex2f(165, 140);
glVertex2f(225, 135);
glVertex2f(285, 295);
glVertex2f(345, 205);
glEnd();