1

您好我正在尝试在 Jupyter Notebook 中绘制图表。我一直在关注本教程

我正在使用以下 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);在最后运行该命令,这会在新窗口中呈现该图。我想在笔记本中内联生成图表。

4

1 回答 1

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
于 2021-09-21T20:33:22.937 回答