C语言绘直方图

来源:百度知道 编辑:UC知道 时间:2024/06/20 22:11:29
设计要求:同前面画曲线类似,绘制一个两维坐标,在坐标轴上标出刻度,并用阿拉伯数字标出。按照X轴方向,每隔一个坐标点,绘制一个有一定高度和宽度的矩形,构成直方图。直方图的数据和前面一样由数组给出:int data[]={7,3,12,6,9,5,8,11};
涉及知识:除有图形函数的调用之外,还有矩形图形的绘制/封闭图形的填充等。
相关函数:bar()函数 setfillstyle()函数

turboc 直方图

#include <math.h>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <graphics.h>

int main()
{
int GraphDriver;
int GraphMode;
int i, x, y;
char buffer[5];
int data[]={7,3,12,6,9,5,8,11};

GraphDriver = DETECT;
initgraph(&GraphDriver, &GraphMode, "");

setcolor(15);
moveto(635, 461);
lineto(20, 461);
lineto(20, 20);

setcolor(15);
for (i = 1 ; i < 13; i++)
{
itoa(i, buffer, 10);
outtextxy(20 - textwidth(buffer), 456 - i * 36, buffer);
moveto(20, 460 - i * 36);
lineto(23, 460 - i * 36);
}
setfillstyle(SOLID_FILL, 1);
for (i = 0 ; i < 8; i++)
{
moveto(i * 50 + 49, 461);
lineto(i * 50 + 49, 465);
outtextxy(i * 50 + 51, 463, itoa(i + 1, buffer, 10));
bar(i * 50 + 35, 460 - data[i] *