如何在ASP.Net创建各种3D图表

本文涉及的产品
数据可视化DataV,5个大屏 1个月
可视分析地图(DataV-Atlas),3 个项目,100M 存储空间
简介: 我们都知道,图表在ASP.NET技术中是一种特别受欢迎而又很重要的工具。图表是表示数据的图形,一般含有X和Y两个坐标轴。我们可以用折线,柱状,块状来表示数据。通过图表控件,我们即能表示数据又能比较各种图表的数据,例如比较去年和今年的收入。

我们都知道,图表在ASP.NET技术中是一种特别受欢迎而又很重要的工具。图表是表示数据的图形,一般含有X和Y两个坐标轴。我们可以用折线,柱状,块状来表示数据。通过图表控件,我们即能表示数据又能比较各种图表的数据,例如比较去年和今年的收入。图表的类型也有很多,如柱状图、折线图、条形图、组合图等等。

这篇文章将阐述如何在ASP.NET中如何制作3D图表。首先,我将展示如何绘制出一个简单的图表。

简单图表的步骤

步骤1

新建一个"ASP.NET Empty Web Site"。

步骤2

在Solution Explorer 中添加新项目,添加new form。

步骤3

工具栏—标准—项目。我们会看到在.Net Framework Component.中有两个图表选项,打勾并保存。.NET Framework 4.0 及以上版本将chart控件集成到了工具箱toolbox里面,3.5及早期版本中则需要此步骤。

步骤4

进入工具栏—数据—图表,从工具栏中拖到页面。

 

步骤5

将chart控件拖到页面以后,IDE会自动在web.config 文件中添加以下4个标签,同时在Default.aspx 的designer页面也能看到一个普通图表。

 

 <appSettings>  
        <add key="ChartImageHandler" value="storage=file;timeout=20;dir=c:\TempImageFiles\;" />  
      </appSettings>  

 

 <httpHandlers>  
          <add path="ChartImg.axd" verb="GET,HEAD,POST" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"  
            validate="false" />  
        </httpHandlers>  

 

 <controls>    
        <add tagPrefix="asp" namespace="System.Web.UI.DataVisualization.Charting"    
          assembly="System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />    
      </controls>  

 

 <assemblies>    
        <add assembly="System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>    
      </assemblies>   

步骤6

右击图表,进入属性。属性窗口选择并添加数据源。当然我们也可以用代码将数据绑定到图表的方式,下文的3D图表的代码我就采用了绑定方法。

步骤7

成功添加数据源之后,返回属性窗口,点击系列,我们会看到Series Collection Editor这样的一个窗口。

步骤8

在系列的数据源中设置X轴和Y的对应项,这里我将X轴的对应项的值设置为姓名, Y轴的对应项的值设置为年龄。如果想要在图表中分别为X和Y轴命名,那么返回属性窗口,点击图表区,你就会看到一个Axes的属性。

步骤9

运行程序,输出结果如下图。

 

图表的类型

如果你想要各种类型的图表,这很简单,右击图表—显示智能标签,就能选取各种图表类型了。

 

3D 图表

与其他图表相比,3D图表的优势在于看起来更清晰、更直观。现在我们就来讨论如何制作3D图表。

首先新建一个网站,将图表拖到aspx页面。如我上述所说,代码会自动添加到web.config文件中。然后只有在aspx页面中有一个图表区标签。我们把3D改为true。我们也可以使用向导,右击图表—属性—图表区属性,然后在3D图表设置中将3D改为true,默认情况下就会是false。

代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ExamChart.aspx.cs" Inherits="ExamChart" %>

<%@ Register Assembly="System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
    Namespace="System.Web.UI.DataVisualization.Charting" TagPrefix="asp" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    
    

      <asp:Chart ID="ScoreChart" Width="600px" Height="320px" runat="server" 
            BackColor="Silver" BackGradientStyle="LeftRight" BorderlineWidth="2" 
            TabIndex="2" onload="ScoreChart_Load">
        <Series>
          <asp:Series Name="RunSeries" ChartArea="ChartArea1">
        
          </asp:Series>
        </Series>
        <ChartAreas>
          <asp:ChartArea Name="ChartArea1">
              <AxisY Title="得分">
              </AxisY>
              <AxisX Title="姓名">
              </AxisX>
<Area3DStyle Enable3D="True" WallWidth="10"></Area3DStyle>
          </asp:ChartArea>
        </ChartAreas>
          <Titles>
              <asp:Title Name="Title1" Text="得分情况">
              </asp:Title>
          </Titles>
      </asp:Chart>

    </div>
    </form>
</body>
</html>

然后新建一个类:

public class run
{
    public string Name { get; set; }
    public int Point { get; set; }
}

创建数据源,将数据源绑定到图表中,绑定方法的代码如下:

using System;
using System.Collections.Generic;
using System.Web.UI;
using System.Web.UI.DataVisualization.Charting;

public partial class ExamChart : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {

            BindData();

        }

    }

    private void BindData()
    {

        var runs = new List<run>()
            {
                new run() { Name = "王利", Point = 200}, 
                new run() { Name = "张明", Point = 32 }, 
                new run() { Name = "孙超", Point = 78 }, 
                new run() { Name = "李飞", Point = 50 }, 
                new run() { Name = "赵越", Point = 32 }, 
                new run() { Name = "王洪", Point = 155}, 
                new run() { Name = "宋伟", Point = 22 }
            };

        var series = ScoreChart.Series["RunSeries"];

        foreach (var exam in runs)
        {

            var point = new DataPoint();
            point.SetValueXY(exam.Name, exam.Point);

            point.Label = exam.Point.ToString();
            series.Points.Add(point);
        }

        ScoreChart.DataSource = runs;
        ScoreChart.DataBind();
    }
    protected void ScoreChart_Load(object sender, EventArgs e)
    {

    }
}

 运行程序,效果图:

我们知道,生效3D后我们就可以创建一个3D图表,它是一个布尔类型可能是为true也可能是为false,默认情况下通常为false。此外,在ASP.NET中,3D图表的角度也可以调整,介于90度到-90度之间。-90度会使图表会完全处于置底,90度则会完全置顶。有一个属性被称为“Is clustered”属性是一个布尔值,即使使用具有相同类型和性质的多个图表,它也能展现良好的视图效果。暂时分享到这里,谢谢浏览,希望对你有所参考!

 

相关实践学习
DataV Board用户界面概览
本实验带领用户熟悉DataV Board这款可视化产品的用户界面
阿里云实时数仓实战 - 项目介绍及架构设计
课程简介 1)学习搭建一个数据仓库的过程,理解数据在整个数仓架构的从采集、存储、计算、输出、展示的整个业务流程。 2)整个数仓体系完全搭建在阿里云架构上,理解并学会运用各个服务组件,了解各个组件之间如何配合联动。 3&nbsp;)前置知识要求 &nbsp; 课程大纲 第一章&nbsp;了解数据仓库概念 初步了解数据仓库是干什么的 第二章&nbsp;按照企业开发的标准去搭建一个数据仓库 数据仓库的需求是什么 架构 怎么选型怎么购买服务器 第三章&nbsp;数据生成模块 用户形成数据的一个准备 按照企业的标准,准备了十一张用户行为表 方便使用 第四章&nbsp;采集模块的搭建 购买阿里云服务器 安装 JDK 安装 Flume 第五章&nbsp;用户行为数据仓库 严格按照企业的标准开发 第六章&nbsp;搭建业务数仓理论基础和对表的分类同步 第七章&nbsp;业务数仓的搭建&nbsp; 业务行为数仓效果图&nbsp;&nbsp;
目录
相关文章
winform .net6 和 framework 的图表控件,为啥项目中不存在chart控件,该如何解决?
本文讨论了在基于.NET 6和.NET Framework的WinForms项目中添加图表控件的不同方法。由于.NET 6的WinForms项目默认不包含Chart控件,可以通过NuGet包管理器安装如ScottPlot等图表插件。而对于基于.NET Framework的WinForms项目,Chart控件是默认存在的,也可以通过NuGet安装额外的图表插件,例如LiveCharts。文中提供了通过NuGet添加图表控件的步骤和截图说明。
winform .net6 和 framework 的图表控件,为啥项目中不存在chart控件,该如何解决?
|
SQL JSON 前端开发
.NET+Ajax+ashx 实现Echarts图表动态交互
前言:   使用Echarts展示图表效果,在这里只做了四种案例:折线、柱状、圆形、雷达。当初是一位朋友用到Echarts展示数据,他没有太多时间弄,所以我就帮他搞出来,当初刚接触的时候也是一头雾水,不知道该怎么下手,网上类似的案例有也不多,并且不是自己想要的效果。
1801 0
|
Web App开发 .NET
asp.net 调用echarts显示图表控件随浏览器自适应解决方案
1、问题来源         我们在asp.net开发中常使用到frameset的框架结构,比如上左中右方式,在中间部分是一个可以控制左侧部分显示隐藏的功能,这时右边内容区域如果有使用echa...
1168 0
|
JSON 前端开发 JavaScript
asp.net使用echarts展示图表数据
百度echarts开发插件包下载地址:http://download.csdn.net/detail/taomanman/8850699 Echart图表...
1657 0
|
.NET 开发框架
asp.net 图表使用参考
1、HighCharts动态实时曲线: http://blog.csdn.net/nuaazdh/article/details/6754928
621 0
|
.NET
微软发布新的ASP.NET图表控件
微软最近发布了最新的ASP.NET服务器端控件 , 在ASP.NET 3.5 中可以使用这个控件在浏览器端显示炫目的图表。 Download the free Microsoft Chart Controls Download the VS 2008 Tool Support ...
758 0
|
.NET 开发框架 缓存
微软发布新的ASP.NET图表控件
微软最近发布了最新的ASP.NET服务器端控件 , 在ASP.NET 3.5 中可以使用这个控件在浏览器端显示炫目的图表。 Download the free Microsoft Chart Controls Download the VS 2008 Tool Support ...
|
2月前
|
开发框架 前端开发 JavaScript
ASP.NET MVC 教程
ASP.NET 是一个使用 HTML、CSS、JavaScript 和服务器脚本创建网页和网站的开发框架。
43 7
|
2月前
|
存储 开发框架 前端开发
ASP.NET MVC 迅速集成 SignalR
ASP.NET MVC 迅速集成 SignalR
63 0
下一篇
无影云桌面