【问题标题】:ASP.net Charting controlASP.net 图表控件
【发布时间】:2012-08-23 10:53:43
【问题描述】:

我想创建一个雷达图以显示在我的 asp.net 网站上。为此,我使用ASP.net 图表控件4.0c#

我可以毫无问题地创建雷达图,但是当我希望将 X-Axis 标签设置为超链接时会出现问题。

为了让我自己更容易,我创建了一个小测试。带有条形图的非常简单的数据。我必须为X-Axis 可点击创建一个自定义标签。正如我预期的那样工作。但是,当我更改图表类型 ChartType = SeriesChartType.Radar; 时,X-Axis 标签不再是链接。

这是我正在使用的简单测试代码:

ChartArea ca = new ChartArea();

List<string> f = new List<string>();
f.Add("Label 1");
f.Add("Label 2");
f.Add("Label 3");
f.Add("Label 4");

Series s = new Series();
s.ChartType = SeriesChartType.Radar;
s.Points.Add(new DataPoint(1, 20));
s.Points.Add(new DataPoint(2, 30));
s.Points.Add(new DataPoint(3, 40));
s.Points.Add(new DataPoint(4, 50));
Chart2.Series.Add(s);

for (int i = 1; i < s.Points.Count; i++)
{
    CustomLabel cl = new CustomLabel();
    cl.FromPosition = i-0.5;
    cl.ToPosition = i + 0.5;
    cl.Text = f[i];
    cl.Url = "someRandompage.aspx";
    ca.AxisX.CustomLabels.Add(cl);
}
Chart2.ChartAreas.Add(ca);

关于如何实现这一点的任何想法?

非常感谢

【问题讨论】:

    标签: c# asp.net c#-4.0 charts


    【解决方案1】:

    您应该能够通过查看以下链接中的 RadarChart 示例来解决它。

    Example found right here!

    Source code right here!

    【讨论】:

    • 那里有一些非常好的例子,我以前看过它们,但没有运气。我认为我的问题的解决方案是找出自定义标签占用的已创建图像上的区域,以便我可以将其添加到图像映射中。该图表将动态创建,因此我无法假设标签的位置。谢谢
    【解决方案2】:

    检查图表herehere 的MapAreAttribute。

    【讨论】:

      【解决方案3】:

      最后我决定不使用 asp.net 图表。他们只是不是那么好。最终使用了highcharts。它们是一个 javascript 图表工具,能够完成我想要的一切。所有主要浏览器都支持它们,而且它们看起来不错。另一方面,asp.net 图表控件不是很好而且渲染速度很慢。

      还有一些其他可用的 javascript 图表工具看起来不错。如果可能的话,我会推荐使用 javascript 的东西。

      【讨论】:

        猜你喜欢
        • 2013-12-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多