想要解决的问题是:
如何全部显示出来?
问题:
在Y轴,每一条柱子下边的字符串都应该显示出来。
共13条柱子,也就是说共有13个字符串,然而现在只显示6个字符串。
原先13个字符串,每个字符串都是很长的,我以为是因为字符串太长导致其它字符串被挤下去,然后我就改成0,1,2,3,4,5,6,7...这些短的字符串代替测试,结果还是一样。
而我发现它是有规律的隔列显示,我以为是某个属性造成的,可是我找不到是哪个。
如图1:前置代码:<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Result.aspx.cs" Inherits="Result" %><%@ 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>
        <center>
            <asp:Chart ID="Chart1" runat="server" Height="800px" Width="1920px"  ImageLocation="~/TempImages/ChartPic_#SEQ(300,3)"
                BorderDashStyle="Solid" BackSecondaryColor="White" BackGradientStyle="VerticalCenter"
                BorderWidth="2px" BackColor="211, 223, 240" BorderColor="#1A3B69">
                <Legends>
                    <asp:Legend IsTextAutoFit="False" Name="Default" BackColor="Transparent" TitleAlignment="Center"
                        Font="Trebuchet MS, 12.5pt, style=Bold">
                    </asp:Legend>
                </Legends>
                <Titles>
                    <asp:Title Text="统计结果" TextStyle="Shadow" Font="Trebuchet MS, 16pt, style=Bold"  />
                </Titles>
                <BorderSkin SkinStyle="Emboss"></BorderSkin>
                <ChartAreas>
                    <asp:ChartArea Name="ChartArea1" BorderColor="64, 64, 64, 64" BorderDashStyle="Solid"
                        BackSecondaryColor="White" BackColor="64, 165, 191, 228" ShadowColor="Transparent"
                        BackGradientStyle="TopBottom">
                        <Area3DStyle Rotation="10" Perspective="10" Inclination="15" IsRightAngleAxes="False"
                            WallWidth="0" IsClustered="False"></Area3DStyle>
                        <AxisY LineColor="64, 64, 64, 64">
                            <LabelStyle Font="Trebuchet MS, 12.5pt, style=Bold" />
                            <MajorGrid LineColor="64, 64, 64, 64" />
                        </AxisY>
                    </asp:ChartArea>
                </ChartAreas>
            </asp:Chart>
             </center>
    </div>
    </form>
</body>
</html>后置代码:using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Xml;
using System.Web.UI.DataVisualization.Charting;public partial class Result : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            Loading();
        }
    }    /// <summary>
    /// 加载图表
    /// </summary>
    private void Loading()
    {
        //取消报表网格线
        //for (int x = 0; x < Chart1.ChartAreas.Count; x++)
        //{
        //    for (int y = 0; y < Chart1.ChartAreas[x].Axes.Length; y++)
        //    {
        //        Chart1.ChartAreas[x].Axes[y].MajorGrid.Enabled = false;
        //    }
        //}        //初始化颜色键值表
        Dictionary<string, System.Drawing.Color> colorHash = new Dictionary<string, System.Drawing.Color>();
        colorHash.Add("宝安区", System.Drawing.Color.FromArgb(245,168,154));
        colorHash.Add("福田区", System.Drawing.Color.FromArgb(241,175,0));
        colorHash.Add("罗湖区", System.Drawing.Color.FromArgb(91,189,43));
        colorHash.Add("龙岗区", System.Drawing.Color.FromArgb(0,178,191));
        colorHash.Add("龙华新区", System.Drawing.Color.FromArgb(99,91,162));
        colorHash.Add("南山区", System.Drawing.Color.FromArgb(162,0,124));
        colorHash.Add("盐田区", System.Drawing.Color.FromArgb(85, 85, 85));        //添加地区颜色对照表
        foreach (string item in colorHash.Keys)
        {
            Series ssss = new Series(item);
            ssss.Color = colorHash[item];
            ssss.BorderWidth = 7;
            ssss.ShadowOffset = 2;
            Chart1.Series.Add(ssss);
            break;
        }        //设置图表类型
        Chart1.Series["宝安区"].Font = new System.Drawing.Font("Trebuchet MS", 24);
        //Chart1.Series["宝安区"].ChartType = SeriesChartType.Column;
        //Chart1.Series["宝安区"].PostBackValue = "#AXISLABEL" + ";#INDEX";        //查询投票结果
        XmlNodeList xnList = this.GetXmlNodeList(@"/datas/Results/result");
        List<Results> rList = this.FindData(xnList);
        var query = from r in rList
                    group r by r.OprateId into g
                    select new
                    {
                        g.Key,
                        Count = g.Count()
                    };        //查询所有地区
        XmlNodeList dataList = this.GetXmlNodeList(@"/datas/data");
        //初始化地区键值表
        Dictionary<int, XmlNode> dataHash = new Dictionary<int, XmlNode>();
        //封装地区键值表
        foreach (XmlNode item in dataList)
        {
            dataHash.Add(Convert.ToInt32(item.Attributes["id"].Value),item);
        }
        //移除未被选中的地区
        foreach (var q in query)
        {
            dataHash.Remove(q.Key);
        }        //初始化所有投票结果集合
        List<PollResults> prList = new List<PollResults>();
        //封装未投票结果集合
        foreach (XmlNode item in dataHash.Values)
        {
            PollResults pr= new PollResults();
            pr.Count = 0;
            pr.Name = item.Attributes["name"].Value;
            pr.Type = item.Attributes["type"].Value;
            pr.OprateId = Convert.ToInt32(item.Attributes["id"].Value);
            prList.Add(pr);
        }
        //封装已投票结果集合
        foreach (var q in query)
        {
            PollResults pr = new PollResults();
            pr.Count = q.Count;
            XmlNode data = this.GetXmlNode(string.Format(@"/datas/data[@id={0}]", q.Key));
            pr.Name = data.Attributes["name"].Value;
            pr.Type = data.Attributes["type"].Value;
            pr.OprateId = q.Key;
            prList.Add(pr);
        }        int i = 0;
        foreach (PollResults item in prList)
        {
            //Y轴数据
            Chart1.Series["宝安区"].Points.AddY(item.Count);
            //X轴显示的名称
            Chart1.Series["宝安区"].Points[i].AxisLabel = item.Name;
            //Chart1.Series["宝安区"].Points[i].Font = new System.Drawing.Font("Trebuchet MS", 20);
            //顶部显示的数字
            Chart1.Series["宝安区"].Points[i].Label = item.Count.ToString();
            //鼠标放上去的提示内容
            Chart1.Series["宝安区"].Points[i].ToolTip = item.Type;
            //设置柱子头标签文本颜色
            Chart1.Series["宝安区"].Points[i].LabelForeColor = colorHash[item.Type];
            //柱子颜色
            Chart1.Series["宝安区"].Points[i].Color = colorHash[item.Type];
            if (item.Count > 0)
            {
                Chart1.Series["宝安区"].Points[i].MarkerStyle = MarkerStyle.Triangle;//显示三角形
                Chart1.Series["宝安区"].Points[i].MarkerColor = colorHash[item.Type]; //三角形颜色
                Chart1.Series["宝安区"].Points[i].MarkerSize = 80;//三角形大小
            }
            i++;
        }        //按照升序的方式排列
        //Chart1.Series["宝安区"].Sort(PointSortOrder.Ascending);
    }    /// <summary>
    /// 封装Results数据集
    /// </summary>
    /// <param name="xnList"></param>
    /// <returns></returns>
    private List<Results> FindData(XmlNodeList xnList)
    {
        List<Results> rList = new List<Results>();
        foreach (XmlNode item in xnList)
        {
            Results r = new Results();
            r.Id = Convert.ToInt32(item.Attributes["id"].Value);
            r.IpAddress = item.Attributes["ip"].Value;
            r.OprateId = Convert.ToInt32(item.Attributes["oprateId"].Value);
            rList.Add(r);
        }
        return rList;
    }    /// <summary>
    /// 获取节点集
    /// </summary>
    /// <param name="XPath"></param>
    /// <returns></returns>
    private XmlNodeList GetXmlNodeList(string XPath)
    {
        XmlDocument xd = new XmlDocument();
        string path = Server.MapPath(System.Configuration.ConfigurationManager.AppSettings["xmlPath"]);
        xd.Load(path);
        return xd.SelectNodes(XPath);
    }    /// <summary>
    /// 获取节点
    /// </summary>
    /// <param name="XPath"></param>
    /// <returns></returns>
    private XmlNode GetXmlNode(string XPath)
    {
        XmlDocument xd = new XmlDocument();
        string path = Server.MapPath(System.Configuration.ConfigurationManager.AppSettings["xmlPath"]);
        xd.Load(path);
        return xd.SelectSingleNode(XPath);
    }
}发文章发不了那么多字,我在回复里再发web.config和xml数据文件吧。
在此谢过各位了。

解决方案 »

  1.   

    接着如下:
    web.config<?xml version="1.0"?>
    <!--
      有关如何配置 ASP.NET 应用程序的详细信息,请访问
      http://go.microsoft.com/fwlink/?LinkId=169433
      -->
    <configuration>
      <system.webServer>
        <validation validateIntegratedModeConfiguration="false" />
        <handlers>
          <remove name="ChartImageHandler" />
          <add name="ChartImageHandler" preCondition="integratedMode" verb="GET,HEAD,POST"
            path="ChartImg.axd" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
        </handlers>
      </system.webServer>
      <system.web>
        <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>
        <pages>
          <controls>
            <add tagPrefix="asp" namespace="System.Web.UI.DataVisualization.Charting"
              assembly="System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
          </controls>
        </pages>
        <compilation debug="true" targetFramework="4.0" defaultLanguage="c#">
          <assemblies>
            <add assembly="System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
          </assemblies>
        </compilation>
      </system.web>
      <appSettings>
        <add key="xmlPath" value="~/App_Data/Data.xml" />
        <add key="ChartImageHandler" value="storage=file;timeout=20;dir=~/TempImages;" />
      </appSettings>
    </configuration>DATA数据:
    请在App_Data文件夹内创建一个名为Data的XML文件。<?xml version="1.0" encoding="utf-8"?>
    <datas>
    <data id="1" type="龙岗区" name="横岗的园山风景游览区" height="未知" url="http://baike.baidu.com/view/760511.htm" desc="园山风景区由深圳市天然投资发展有限公司投资开发,位于深圳市龙岗区横岗东南部的惠盐公路东侧。景区占地达10平方公里,以山峦起伏,沟谷弯延幽深,植被基本保留原自然生态,被誉为“都市的后花园”! 在这里,您可以尽情享受后花园的幽雅和恬静,全身心感受绿色原生态,与自然零距离接触。同时这里还配备了豪华幽静的别墅,功能齐全的会议场所,怡然自得的钓鱼湖,硕果诱人的果园,惊险刺激的卡丁车……这一切都会让您流连忘返,回味无穷。" />
    <data id="2" type="龙岗区" name="坪山的马峦山" height="590米" url="http://baike.baidu.com/view/760378.htm" desc="马峦山位于深圳市东部山区,有深圳最大的瀑布,谷内岩石因水流冲刷而形成各种形态,大小不等,且呈犬牙交错之壮,溪水清澈见底,山谷两旁植被浓郁,藤蔓横生,野花遍地,偶尔伴有的几声鸟叫虫鸣,会使此地更显静谧。此地穿越难度不高,但景色秀丽,是一个休闲游玩的好地方。马峦山将建成一个以远足登山、观海观瀑为特色,集休闲旅游、野外健身、自然生态教育为一体的市级郊野公园。" />
    <data id="3" type="龙岗区" name="大鹏的排牙山" height="707米" url="http://baike.baidu.com/view/760335.htm" desc="排牙山位于深圳市龙岗区大鹏镇,为大鹏半岛北岛的主要组成山脉,海拔707米(深圳第六高峰)。该山三面环海,山石嶙峋,景色极佳。由南面望去,酷似一排排错落不齐的牙齿,是否由此得名,不得而知。" />
    <data id="4" type="龙岗区" name="葵冲的大笔架山" height="717米" url="http://baike.baidu.com/view/28707.htm#9" desc="大笔架山起点位于深圳东部葵冲镇的坝光村,山势雄伟壮观,最高处海拔717米,属深圳第五高峰。大笔架山山路原始,风吹芦苇荡,人没青纱帐。沿途风清鸟鸣,风景秀美。从大笔架山山脚登顶,翻过连绵的山头(三杆笔、笔架山等),从火烧天下至山脚。这条线路是深圳最经典的陆地穿越线路——三水线的主要路段(占三水线1/2左右),全程约7小时,有一定难度,需要较好的耐力。" />
    <data id="5" type="龙岗区" name="南澳的七娘山" height="869米" url="http://baike.baidu.com/view/188575.htm" desc="http://baike.baidu.com/view/188575.htm" />
    <data id="6" type="宝安区" name="石岩的羊台山" height="587米" url="http://baike.baidu.com/view/760380.htm" desc="羊台山位于深圳市西北部 宝安区石岩境内,地处宝安区石岩街道、龙华街道与南山区的交会处。气势宏伟,风光秀丽,海拔高度587米,是深圳西部最高峰。抗日战争时期,当地人民和东江纵队上演了震惊中外的“大营救”,从沦陷的港九孤岛抢救出了茅盾、何香凝、邹韬奋等著名爱国人士。羊台山也因此被称作英雄山。2008年,“羊台叠翠”被评为深圳八景之一,成为中外游客和广大市民观光、旅游、休闲、健身的好去处。" />
    <data id="7" type="宝安区" name="福永的凤凰山" height="376米" url="http://baike.baidu.com/view/5708445.htm" desc="凤凰山被誉为宝安第一山,坐落在广东省深圳市宝安区福永镇凤凰村东面的山系,海拔376米,方圆1.2公里,素有“凤山福水福盈地”的美誉。凤凰奇拔峻秀,呈半月形展开,恰似镶嵌在西海之滨的一湾新月,高悬在南国昊天沃土上,西眺伶仃洋,南瞰深圳湾。峰峦连绵叠翠,树木四季葱茂;百鸟啼鸣,花果飘香;山泉浅唱,壑洞幽藏,奇石多姿,古庙生辉。水光山色,峭岩古洞,构成了一幅风光旖旎、雄伟壮观的山水画卷。凤凰山自然风景绮丽,人文景观丰富,在清朝被列为新安八景之一。" />
    <data id="8" type="宝安区" name="沙井的洪田火山郊野公园" height="未知" url="http://baike.baidu.com/view/7530402.htm" desc="洪田火山郊野公园位于凤凰山脉中段北侧,该公园处原为火山,属火山岩地貌。公园内森林茂密,奇石岩洞众多,溪流潺潺,步行路径四通八达,古迹众多。公园内慈云阁(又名慈云寺)始建于清康熙年间,距今已有300多年历史。公园系抗日战争时期东江纵队游击队七烈士喋血捐躯之地。人们为了纪念烈士们为民族解放的献身精神,将其遗骨就地安葬,建有“洪田七烈士墓”。2003年,为弘扬先烈革命传统,深化人文环境建设,有关部门规划建设了洪田火山郊野公园。其后,为纪念在中国人民抗日战争和解放战争时期英勇牺牲的30多名英烈,在园内建造“沙井革命烈士纪念碑”,作为对青少年进行革命历史和革命传统教育的基地。洪田火山郊野公园占地面积56万平方米,一期工程于2005年完成,并免费对外开放。" />
    <data id="9" type="罗湖区" name="翠竹的翠竹山" height="153.24米" url="http://baike.baidu.com/view/8623022.htm" desc="翠竹山位于深圳市翠竹公园内,地处深圳市罗湖区翠竹路1078号,北临太宁路,西、南分别与翠竹路、东门路接壤,东临水库新村等生活区。总面积45.13公顷。整个公园以山地丘陵为主,多山头,坡势较陡。最高峰位于公园南部,海拔153.24米。" />
    <data id="10" type="福田区" name="笋岗的笔架山公园" height="178米" url="http://baike.baidu.com/view/5428517.htm" desc="笔架山公园位于市中心北侧,毗邻福田中心区,面积146公顷,是一片有十余座小山峰的丘陵起伏地,其中三座主峰东西鼎立,形同笔架,因而得名,属山地公园。主峰海拔178米,与地王大厦遥遥相望,从峰顶既可俯瞰繁华的市容,又可远眺深圳湾,蛇口和香港的上水,元朗的美景。公园内植物资源丰富,植被覆盖率90%以上,植物种类超过400多种,野生动物资源也十分丰富。公园位于八百米绿化带北部,是绿化带景观的重要组成部分。园内地形富于变化,山高林多,鸟语花香,风景资源独佳,植物覆盖充分,动物种类繁多,其中蝴蝶,鸟类,昆虫,蛇等品种数量较丰富。" />
    <data id="11" type="南山区" name="南头的大南山" height="336米" url="http://baike.baidu.com/view/89542.htm#2" desc="位于深圳市西南的大南山,为南山一带山脉的主峰,上有古庙和清代的烽火台遗址。登山远眺,青松翠&#xD;&#xA;柏,海天无垠。环视周围,赤湾炮台、天后古庙、少帝陵等文物古迹,青青世界等新建旅游景点尽收眼底,一览无遗。自古以来,南山一带就是风景名胜区,赤湾胜概为新安八景之首。今日大南山上下的旧貌新颜,更互相衬托出一幅融历史文化与现代文明于一体的壮丽图景。&#xD;&#xA;  大南山伫立在深圳南头半岛上,周围是蛇口工业区,主峰高336米。山上树林茂密,景色宜人,登高望远,整个深圳湾畔景物尽收眼底:远可观深圳市中心区楼群、香港流浮山脉,元朗景色,近可俯视南山半岛、宝安新城。1994年,蛇口工业区在南山上修建了行人便道和凉亭。南山已经成为深圳西部的重要景点。" />
    <data id="12" type="南山区" name="西丽的塘朗山郊野公园" height="未知" url="http://baike.baidu.com/view/760468.htm" desc="塘朗山郊野公园位于深圳南山区的东北部。山的南面是平南铁路,北面为北环大道和龙珠大道,西端止于红花岭,东边绵延到福田区境内。北望西丽水库、长岭皮水库、羊台山、深圳野生动物园,南瞰深圳湾、华侨城。总面积约15000亩。塘朗山,以它幽静、深邃、雄伟的生态园林本色吸引着更多爱好登高眺远、投身大自然和热爱生活的人们。" />
    <data id="13" type="盐田区" name="梧桐山" height="973.7米" url="http://baike.baidu.com/view/28646.htm" desc="深圳梧桐山风景名胜区位于东经113 °17'~114 °18',北纬22 °23'~22 °43'的沿海地区,在深圳经济特区东部,西临深圳水库,东至盐田港,南北均临近特区边界。风景名胜区邻近繁华市区,面临南海大鹏湾,与香港新界山脉相连、溪水相通,具备了国内风景区名胜区中独特的地理位置。" />
      <Results>
        <result id="1" ip="192.168.20.162" oprateId="2" />
        <result id="2" ip="192.168.20.162" oprateId="5" />
        <result id="3" ip="192.168.20.162" oprateId="7" />
        <result id="4" ip="192.168.20.162" oprateId="11" />
        <result id="5" ip="192.168.20.162" oprateId="13" />
        <result id="6" ip="192.168.20.162" oprateId="3" />
        <result id="7" ip="192.168.20.57" oprateId="2" />
        <result id="8" ip="192.168.20.57" oprateId="3" />
        <result id="9" ip="192.168.20.57" oprateId="5" />
        <result id="10" ip="192.168.20.57" oprateId="6" />
        <result id="11" ip="192.168.20.107" oprateId="1" />
        <result id="12" ip="192.168.20.107" oprateId="3" />
        <result id="13" ip="192.168.20.16" oprateId="1" />
        <result id="14" ip="192.168.20.16" oprateId="2" />
        <result id="15" ip="192.168.20.50" oprateId="1" />
        <result id="16" ip="192.168.20.50" oprateId="2" />
        <result id="17" ip="192.168.20.50" oprateId="5" />
        <result id="18" ip="192.168.20.173" oprateId="1" />
        <result id="19" ip="192.168.20.173" oprateId="2" />
        <result id="20" ip="192.168.20.173" oprateId="6" />
      </Results>
    </datas>
      

  2.   

    附上解决方案:http://pan.baidu.com/share/link?shareid=164464&uk=3104341340
    如果不想这么麻烦的,可以下载这个解决方案,以便帮助我解决问题,该RAR压缩包几百KB,百度网盘下载,再次感谢。
      

  3.   

    App_Code文件夹内,创建Class1.cs:using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;[Serializable]
    public class Class1
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public string Type { get; set; }
        public string Height { get; set; }
        public string Url { get; set; }
        public string Desc { get; set; }
    }[Serializable]
    public class Results
    {
        public int Id { get; set; }
        public int OprateId { get; set; }
        public string IpAddress { get; set; }
    }[Serializable]
    public struct PollResults
    {
        public int OprateId { get; set; }
        public string Type { get; set; }
        public string Name { get; set; }
        public int Count { get; set; }
    }
      

  4.   

    chart控件有所了解 兄弟 你贴这么多代码谁看啊  为了四十分 看个半天跟你说 你这个直接设置X轴最大最小值 和间隔多少就可以了            Chart1.ChartAreas[0].AxisX.Interval = 1;自己多试试
      

  5.   

    在你未回复前就已经搞定了,自己看这个链接内帖子的结贴时间
    http://q.cnblogs.com/q/44967/
    本来是想直接单击“未有满意答案结贴”的,但是这样结贴会扣40分,所以才等到你回复,然后选择满意答案结贴,这样系统会返回我20分。
    不过还是谢谢你。
      

  6.   

    我刚学Chart所以我也不是很懂,呵呵
      

  7.   


    以后有chart问题发帖给我发消息  一般问题还是能解决