下载链接在最下面 (免费)
可在vs2022,vs2019等vs版本使用
成果展示
下载好文件后,将
整个文件夹,添加到项目中,
1.之后,将控件拖到对话框里,修改属性到与图片相同
2.为对话框添加类,我这里添加的是
3.为控件增加变量,因为不是VS自带的控件
4.点击类试图
进行对控件的初始化,
virtual BOOL OnInitDialog();
CChartCtrl m_BarChart1;
BOOL BarChart::OnInitDialog()
{
CDialogEx::OnInitDialog();
// TODO: 在此添加额外的初始化
CMFCApplication6Dlg* barparent;
barparent = (CMFCApplication6Dlg*)theApp.m_pMainWnd;
CChartStandardAxis* Bar_pBottomAxis_z = m_BarChart1.CreateStandardAxis(CChartCtrl::BottomAxis); //绘制坐标轴(x)
Bar_pBottomAxis_z->SetMinMax(0, 20); //一共有0到20
Bar_pBottomAxis_z->SetDiscrete(true);
CChartStandardAxis* Bar_pLeftAxis_z = m_BarChart1.CreateStandardAxis(CChartCtrl::LeftAxis);//y轴
Bar_pLeftAxis_z->SetMinMax(0, 400);
Bar_pLeftAxis_z->GetLabel()->SetText(_T("成绩"));
m_BarChart1.GetBottomAxis()->GetLabel()->SetText(L"学号");
m_BarChart1.GetTitle()->AddString(_T("柱状图")); //设置柱状图的表头
CChartFont titleFont;
titleFont.SetFont(_T("Arial Black"), 120, true, false, true); //设置标题字体
m_BarChart1.GetTitle()->SetFont(titleFont);
m_BarChart1.GetTitle()->SetColor(RGB(0, 0, 128));
m_BarChart1.SetBackGradient(RGB(255, 255, 255), RGB(255, 127, 80), gtVertical); //花里胡哨背景色
m_BarChart1.EnableRefresh(false);
m_BarChart1.GetLegend()->SetVisible(true);
m_BarChart1.GetLegend()->SetHorizontalMode(true);
m_BarChart1.GetLegend()->UndockLegend(550, 10);
}
初始化之后的图形就如图,
如果你要再加数据,继续增加数据
m_BarChart1.RemoveAllSeries();//先清空
CChartBarSerie* pBarSeries1 = m_BarChart1.CreateBarSerie(); //第一个柱子
pBarSeries1->SetColor(RGB(25, 202, 173)); //柱子颜色
pBarSeries1->SetName(_T("平均分"));
CChartBarSerie* pBarSeries2 = m_BarChart1.CreateBarSerie();//第二个柱子
pBarSeries2->SetColor(RGB(68, 68, 255)); //线的颜色
pBarSeries2->SetGradient(RGB(214, 213, 183), gtVerticalDouble);//花里胡哨的渐变背景色
pBarSeries2->SetName(_T("总成绩"));
pBarSeries2->SetBorderColor(RGB(0, 0, 255)); //设置柱状图颜色
pBarSeries2->SetBorderWidth(1); //柱子宽度
添加数据的部分
{XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX}
m_BarChart1.EnableRefresh(true);
加了之后的成果
如果你想添加折线图,就在上面代码把柱状图改为折线图
CChartLineSerie* pLineSerie1;
CChartLineSerie* pLineSerie2;
CChartLineSerie* pLineSerie3;
m_chartctrl.RemoveAllSeries();//先清空
pLineSerie1 = m_chartctrl.CreateLineSerie();
pLineSerie1->SetSeriesOrdering(poXOrdering);//设置为以x递增顺序
pLineSerie1->SetColor(RGB(244, 96, 108));//颜色
pLineSerie1->SetWidth(3);//设置线的宽度
pLineSerie1->SetName(_T("数学"));//设置曲线名
pLineSerie1->AddPoints(x, y_sx, 100);
下载链接:
mierhaosi3/HIGHSPEEDCHART1: 高速绘图控件 (github.com)文章来源:https://www.toymoban.com/news/detail-440588.html
加载到项目里好像有一个是关于unsigned的错误,好像是改成unsigned文章来源地址https://www.toymoban.com/news/detail-440588.html
到了这里,关于MFC--对话框的一个画图控件-HighSpeedChart的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!