Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 在LINQPad中使用什么数据可视化控件来显示结果?_.net_Linq_Linqpad - Fatal编程技术网

.net 在LINQPad中使用什么数据可视化控件来显示结果?

.net 在LINQPad中使用什么数据可视化控件来显示结果?,.net,linq,linqpad,.net,Linq,Linqpad,使用什么数据可视化控件来显示结果?或者在.NET中显示分层数据是否有其他方法?LINQPad使用控件显示动态生成的HTML页面。您甚至可以通过右键单击结果窗口来查看其源代码。所以它基本上是一个围绕Internet Explorer的包装。就HTML的生成而言,它使用定制的XHTML格式访问对象图,并基于XDocument发出XHTML。LINQPad还可以调用Windows窗体附带的所有旧格式。只需转储任何位图对象,LINQPad就会尽职尽责地在HTML中显示它。尝试以下操作,确保在F4参考中有

使用什么数据可视化控件来显示结果?或者在.NET中显示分层数据是否有其他方法?

LINQPad使用控件显示动态生成的HTML页面。您甚至可以通过右键单击结果窗口来查看其源代码。所以它基本上是一个围绕Internet Explorer的包装。就HTML的生成而言,它使用定制的XHTML格式访问对象图,并基于XDocument发出XHTML。

LINQPad还可以调用Windows窗体附带的所有旧格式。只需转储任何位图对象,LINQPad就会尽职尽责地在HTML中显示它。尝试以下操作,确保在F4参考中有System.Drawing、System.Windows.Forms和System.Windows.Forms.DataVisualization,粘贴并点击F5。它还适用于更高级别的SHO图表,这些图表是专门为其定制的,但在C语言中非常有用

// Almost the smallest meaningful example of Charting
void Main()
{
    // Chart must have a chart area, but it's not externally referenced later
    var chartArea1 = new ChartArea();
    var chart1 = new Chart();
    chart1.ChartAreas.Add(chartArea1);

    var series1 = new Series();

    // The following goes beyond the minimal, but just a little. You can delete these two lines.
    // Fun to set the series ChartType; default is column chart
    series1.ChartType = SeriesChartType.Pie;
    series1.CustomProperties = "LabelsRadialLineSize=1, PieDrawingStyle=Concave, LabelStyle=outside";

    var r = new Random(Guid.NewGuid().GetHashCode());
    var ys = Enumerable.Range(0, 5).Select (e => r.NextDouble()).Dump("Doubles");
    var xs = Enumerable.Range(0, 5).Select (e => GetRandomString(3).ToUpper()).Dump("Strings");
    series1.Points.DataBindXY(xs.ToArray(), ys.ToArray());
    chart1.Series.Add(series1);

    var b = new Bitmap(width: chart1.Width, height: chart1.Height);
    chart1.DrawToBitmap(b, chart1.Bounds);
    b.Dump();

    var frm = new Form();
    // Seems 300 x 300 is the default chart-area size and chart size, so set the form to hold it
    frm.ClientSize = new Size(width: 300, height: 300);
    frm.Controls.Add(chart1);

    Application.Run(frm);
}

static IEnumerable<string> CharRange(Char c, int length)
{
    return (from e in Enumerable.Range(Convert.ToInt32(c), length)
            select Char.ConvertFromUtf32(e));
}

static string GetRandomString(int length)
{
    var sb = new StringBuilder();
    do
        sb.Append(Path.GetRandomFileName().Replace(".", "").Substring(0, length < 11 ? length : 11));
    while ((length -= 11) > 0);
    return sb.ToString();
}