C Program to Draw 3D Bar Graph Using C Graphics

Write a program in C to draw 3D bar chart on screen using graphics.h header file

In this program, we will draw a 3D bar graph on screen. Here, we will use linesetfillstyle and bar3d functions of graphics.h header file to draw horizontal and vertical axis and bars on screen.

void line(int x1, int y1, int x2, int y2);

It draws a line from (x1, y1) to (x2, y2).

void setfillstyle(int pattern, int color);

It sets the current fill pattern and fill color.

void bar3d(int xTopLeft, int yTopLeft, int xBottomRight, int yBottomRight, int depth, int topFlag);

bar3d function draws a 3D cuboid and fill front facing surface with current fill pattern and color.

Function Argument Description
xTopLeft X coordinate of top left corner.
yTopLeft Y coordinate of top left corner.
xBottomRight X coordinate of bottom right corner.
yBottomRight Y coordinate of bottom right corner.
depth It specifies the depth of bar in pixels.
topFlag It specifies whether a 3D top to put on the bar or not(any non-zero value specifies a 3d top other wise no 3d top).

C program to draw 3D bar graph using graphics

C Program to Draw 3D Bar Graph Using C Graphics

#include <graphics.h>
#include <conio.h>
  
int main() {
   int gd = DETECT, gm;
   initgraph(&gd, &gm, "C:\\TC\\BGI");
 
   settextstyle(BOLD_FONT,HORIZ_DIR,2);
   outtextxy(275,0,"3D BAR GRAPH");
 
   setlinestyle(SOLID_LINE,0,2);
   /* Print X and Y Axis */
   line(90,410,90,50);
   line(90,410,590,410);
   line(85,60,90,50);
   line(95,60,90,50);
   line(585,405,590,410);
   line(585,415,590,410);
 
   outtextxy(65,60,"Y");
   outtextxy(570,420,"X");
   outtextxy(70,415,"O");
 
   /* Print 3D bars */
   setfillstyle(XHATCH_FILL, RED);
   bar3d(150,80,200,410, 15, 1);
   bar3d(225,100,275,410, 15, 1);
   bar3d(300,120,350,410, 15, 1);
   bar3d(375,170,425,410, 15, 1);
   bar3d(450,135,500,410, 15, 1);
 
   getch();
   closegraph();
   return 0;
}

Program Output

3DBarGraph