【问题标题】:Cannot plot inline plotly charts in Jupyter Notebook using C#无法使用 C# 在 Jupyter Notebook 中绘制内联绘图图表
【发布时间】:2021-11-15 08:44:07
【问题描述】:

您好,我正在尝试在 Jupyter Notebook 中绘制图表。我一直在关注这个tutorial

我正在使用以下 nuget 包来读取数据,然后使用 plotly 绘制它

所以我有这个产生散点图的代码块,

var chart = Chart.Plot(
    new Graph.Scattergl()
    {
        x = houses.Select(v => v.Longitude),
        y = houses.Select(v => v.Latitude),
        mode = "markers",
        marker = new Graph.Marker()
        {
            color = houses.Select(v => v.MedianHouseValue),
            colorscale = "Jet"
        }
    }
);
chart.WithXTitle("Longitude");
chart.WithYTitle("Latitude");
chart.WithTitle("Median house value by location");
chart.Width = 600;
chart.Height = 600;
display(chart);

当我运行上面的单元格时,我得到以下输出,

根据教程,图表应该显示在输出单元格中,但我得到了上面的输出。

但是,我尝试在最后运行命令 chart.Show(); 而不是 dispaly(chart);,这会在新窗口中呈现绘图。我想在笔记本中内嵌生成图表。

【问题讨论】:

    标签: c# jupyter-notebook plotly microsoft.ml


    【解决方案1】:

    我能够使用最新的 XPlot 版本和交互式 (XPlot.Plotly.Interactive) 包来展示情节:

    #r "nuget: XPlot.Plotly"
    #r "nuget: XPlot.Plotly.Interactive"
    

    以及轻微的代码修改:

    var chart = Chart.Plot(
        new Scattergl() // remove Graph.
        {
            x = houses.Select(v => v.Longitude),
            y = houses.Select(v => v.Latitude),
            mode = "markers",
            marker = new Marker() // remove Graph.
            {
                color = houses.Select(v => v.MedianHouseValue),
                colorscale = "Jet"
            }
        }
    );
    chart.WithXTitle("Longitude");
    chart.WithYTitle("Latitude");
    chart.WithTitle("Median house value by location");
    chart.Width = 600;
    chart.Height = 600;
    chart // no display call
    

    【讨论】:

    • 那行得通。谢谢!
    • @MurtazaBasu 很乐意提供帮助。如果答案对您有用,请将其标记为已接受(左侧的复选标记)。
    猜你喜欢
    • 1970-01-01
    • 2016-08-05
    • 2018-12-10
    • 2018-01-10
    • 1970-01-01
    • 2019-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多