一、利用OpenGL绘制形如下图的折线加柱状图,数据和颜色自己设定,要有文字的显示。
二、 利用OpenGL绘制形如下图的饼状图,数据和颜色自己设定,要有文字的显示。
一、直方图、折线图
#include<glut.h>
#include<iostream>
using namespace std;
Glubyte label[18]={
'J','a','n','F','e','b',
'M','a','r','A','p','r','M','a','y','J','u','n'};
GLint dataValue[6]={
195,215,335,210,365,270};
void init (void)
{
glClearColor(1.0,1.0,1.0,0.0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(0.0,600.0,0.0,500.0);
}
void lineGraph_barChart (void)
{
GLint month,k;
glClear(GL_COLOR_BUFFER_BIT); //清除clear display window
glLineWidth(1.3);
glColor3f(0.0,0.5,0.2);
//---------------------------------------------坐标轴
glBegin(GL_LINES);
glVertex2i(60,30); //y轴
glVertex2i(60,450);
glVertex2i(60,150); //100
glVertex2i(55,150);
glVertex2i(60,250); //200
glVertex2i(55,250);
glVertex2i(60,350); //300
glVertex2i(55,350);
glVertex2i(30,50); //x轴
glVertex2i(530,50);
glEnd();
//----------------------------------------
glPointSize(4.5);
glColor3f(0.0,0.0,0.0);
glBegin(GL_POINTS);
for(k=0;k<6;k++)
{
glVertex2i(120+k*70,dataValue[k]);
}
glEnd();
//---------------------
glLineWidth(2.0);
glColor3f(0.0,0.3,0.7);
glBegin(GL_LINE_STRIP);
for(k=0;k<6;k++)
{
glVertex2i(120+k*70,dataValue[k]);
}
glEnd();
//---------------------
for(k=0