资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

c语言绘图函数柱状图,c#绘制柱状图

怎么用C语言打印柱形图

void myPrint(int s[]){ for(int i =0;i25;++i) { printf("字母:%c出现的次数 ",65+i); for(int j=0;js[i];++j) printf("* "); printf("\n"); }}

站在用户的角度思考问题,与客户深入沟通,找到和龙网站设计与和龙网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站设计、网站制作、企业官网、英文网站、手机端网站、网站推广、空间域名、网页空间、企业邮箱。业务覆盖和龙地区。

如何用c语言绘函数图象

你要什么图像 sin 还cos 要不我都给你把!

1、#includestdio.h

#includemath.h

void main()

{

double y;

int i,n;

for(y=1;y=0;y-=0.1)

{n=asin(y)*10;

for(i=1;i=n;i++)

printf(" ");

printf("*");

for(;i=31-n;i++)

printf(" ");

printf("*\n");}

for(y=0;y=1;y+=0.1)

{n=asin(y)*10;

for(i=-1;i=31+n;i++)

printf(" ");

printf("*");

for(;i=62-n;i++)

printf(" ");

printf("*\n");}

}

2、#includestdio.h

#includemath.h

void main()

{

double y;

int x,m;

for(y=1;y=-1;y-=0.1)

{m=acos(y)*10;

for(x=1;xm;x++)

printf(" ");

printf("*");

for(;x62-m;x++)

printf(" ");

printf("*\n");}

}

之后在给你个连个图像相交的把

3、#includestdio.h

#includemath.h

void main()

{

double y;

int n,m,i,j,x,yy;

for(yy=0;yy=20;yy++)

{ y=0.1*yy;

m=acos(1-y)*10;

n=asin(1-y)*10;

i=32+asin(y-1)*10;

j=61-asin(y-1)*10;

for(x=0;x62;x++)

{if((x==n)(x==m)) printf("+");

else if((x==n)||(x==i)||(x==j)) printf("+");

else if((x==m)||(x==62-m)) printf("*");

else printf(" ");}

printf("\n");

}

}

怎么用c语言画函数图像?

我画了半个正弦函数,其余的你可以照着画,欢迎讨论,

#include "stdio.h"

#include "conio.h"

#include "math.h"

#include "graphics.h"

void main()

{

int driver,mode,i;

driver=DETECT;

mode=0;

initgraph(driver,mode,"");

setcolor(15);

for(i=0;i360;i++)

line(i,200*sin(i*3.14/360),i+1,200*sin((i+1)*3.14/360));

getch();

restorecrtmode();

}

c语言做柱状图如何使数据与图对应

先定义好多少个点的距离 代表坐标轴上的“单位长度1”

然后就是 坐标的变换和分析了

用C或者C++编写一个简单的数据图形化工具,根据输入数据生成五种图表。

首先楼主只用printf或cout函数是不可能画出图的,所以要使用可以画图的函数,GDI就是个函数包,是WIN API函数库中的图形函数部分,能让你在屏幕上画任何图形。

WIN API是C语言函数调用风格的编程方式,为了发挥C++的优势,MFC就是针对C++推出的,功能和WIN API是一样的,就是编程是用C++风格的。

楼主喜欢哪种风格就学哪种,WIN API或MFC,楼主只要学其中的GDI部分就可以了。

还不懂的话按在线交谈

如何用c++的mfc绘制柱状图

用c++的mfc绘制柱状图的方法如下:

1:取GroupBox的区域,并保存四个值  左,上,右,下

//获取屏幕坐标

((CWnd*)GetDlgItem(IDC_STATIC_CHART))-GetWindowRect(rect);

//计算x轴y轴基本单位

int dx = (rect.right-rect.left)/50;

int dy = (rect.bottom-rect.top)/80;

//转换成对话框坐标

ScreenToClient(rect);

//保存4个值

int L = rect.left,R = rect.right,T = rect.top,B = rect.bottom;

GroupBox的区域我忘记标出来了,就在上面图中柱状图那一块

2:获取DC,这一步没什么好说的

CPaintDC dc(this);

3:画X轴,Y轴

//X

dc.MoveTo(L+dx*2,B-dy*3);

dc.LineTo(L+dx*49,B-dy*3);

//最后的那个箭头

dc.MoveTo(L+dx*49,B-dy*3);

dc.LineTo(L+dx*48,B-dy*2);

dc.MoveTo(L+dx*49,B-dy*3);

dc.LineTo(L+dx*48,B-dy*4);

Y轴同理,但是考虑到dx,dy的值不一样,当画Y轴的箭头时,需要交换dx和dy的位置

//纵坐标线 dc.MoveTo(L+dx*2,B-dy*3);

dc.LineTo(L+dx*2,B-dy*77);

dc.MoveTo(L+dx*2,B-dy*77);

//交换了dx,dy的位置

dc.LineTo(L+dx*2-dy,B-dy*77+dx);

dc.MoveTo(L+dx*2,B-dy*77);

//交换了dx,dy的位置

dc.LineTo(L+dx*2+dy,B-dy*77+dx);

绘制完结果如图:

4:画柱状图,这里主要根据前面计算dx,dy时,划分的数量来计算每个柱的宽度,以及柱间的间隔

//第一个柱状体的左下坐标

int x = L+dx*3;

int y = B-dy*3;

for(int i=0;i

CRect rc;

rc.left=x+i*dx*9;

rc.right=rc.left+dx*7;

rc.bottom=y;

rc.top=rc.bottom-dy*answer[index][i+1];

//这里把柱状图的信息输出,这里输出的是一个数字,因为要转换成字符串,比较麻烦

//处理了一下,肯定有简洁的处理方式,但是我也懒得去想了,我很懒的

dc.SetBkMode(TRANSPARENT);//设置透明背景,要不然输出文字之后会有一块白,难看

char num[10];

sprintf(num,"%d",answer[index][i+1]);

CString strnum(num);

dc.TextOutW((rc.left+rc.right)/2-dx,rc.bottom-dy*(answer[index][i+1]+3),strnum);

//画刷是我之前就定义好的,直接拿来用

dc.FillRect(rc,brushs+i);

}

5:添加控件消息响应函数

维护一个全局变量index来保存当前题号,创建重绘函数updateInfo

void CEnglishReportDlg::updateInfo(){

int count = choose_c[index];

int i;

//选项存在,赋值,L是宏命令与TEXT()相同功能

for(i=0;i

m_strLable[i] = choose[index][i];

}

//无此选项,置空

for(;i5;i++)

m_strLable[i] = L"";

m_strTopic = topics[index];

//获取GroupBox区域,并转换成对话框坐标

CRect rect;

((CWnd*)GetDlgItem(IDC_STATIC_CHART))-GetWindowRect(rect);

ScreenToClient(rect);

//重绘此区域

InvalidateRect(rect);

//将控件变量更新到前台

UpdateData(FALSE);

}

函数1:响应ListBox的SelChange事件

void CEnglishReportDlg::OnLbnSelchangeListTopic()

{

// TODO: 在此添加控件通知处理程序代码

index = m_listtopic.GetCurSel();

updateInfo();

}

函数2:上一页按钮的Click事件

void CEnglishReportDlg::OnBnClickedButtonPre()

{

// TODO: 在此添加控件通知处理程序代码

if(index0)

index--;

updateInfo();

m_listtopic.SetCurSel(index);

}

函数3:下一页按钮的Clicl事件

void CEnglishReportDlg::OnBnClickedButtonNext()

{

// TODO: 在此添加控件通知处理程序代码

if(index19)

index++;

updateInfo();

m_listtopic.SetCurSel(index);

}

至此基本的功能都已经实现了,还差最后一步:

6:初始化对话框

for(int i=0;i20;i++){

m_listtopic.AddString(topics[i]);

}

//index初始化为0,直接刷新

updateInfo();

m_listtopic.SetCurSel(index);

运行结果如下:


分享标题:c语言绘图函数柱状图,c#绘制柱状图
分享地址:http://cdkjz.cn/article/phpohi.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220