Chart.js 将数据发送到ChartJs.Blazor中的ChartJsLineChart

Chart.js 将数据发送到ChartJs.Blazor中的ChartJsLineChart,chart.js,blazor,Chart.js,Blazor,我在ChartJs.Blazor nuget中使用ChartJsLineChart,我一直在向ChartJsLineChart发送数据 所有的例子包括这个 使用时间元组作为向数据集添加数据的方式 _WeightDataSet = new LineDataset<TimeTuple<int>> { BackgroundColor = ColorUtil.FromDrawingColor(System.Drawing.Color.Wh

我在ChartJs.Blazor nuget中使用ChartJsLineChart,我一直在向ChartJsLineChart发送数据

所有的例子包括这个

使用时间元组作为向数据集添加数据的方式

_WeightDataSet = new LineDataset<TimeTuple<int>>
        {
            BackgroundColor = ColorUtil.FromDrawingColor(System.Drawing.Color.White),
            BorderColor = ColorUtil.FromDrawingColor(System.Drawing.Color.Red),
            Label = "Weight per Day",
            Fill = false,
            BorderWidth = 2,
            PointRadius = 2,
            PointBorderWidth = 2,
            SteppedLine = SteppedLine.False,
            Hidden = false
        };
\u WeightDataSet=newlineDataSet
{
BackgroundColor=ColorUtil.FromDrawingColor(System.Drawing.Color.White),
BorderColor=ColorUtil.FromDrawingColor(System.Drawing.Color.Red),
Label=“每天体重”,
填充=假,
边框宽度=2,
点半径=2,
PointBorderWidth=2,
SteppedLine=SteppedLine.False,
隐藏=错误
};

我想知道什么可以替代时间元组。我尝试使用Tuple,但结果是一个空白图表,即没有无法识别的y值。

您可以使用ChartJs.Blazor支持的任何引用类型将数据添加到图表中。我确定了与折线图一起使用的3种主要数据类型。
1) 如果只想沿x轴和y轴使用(double/int)值类型,则可以使用ChartJs.Blazor.ChartJs.Common.Point数据类型。例如

_WeightDataSet = new LineDataset<ChartJs.Blazor.ChartJS.Common.Point>
        {
            BackgroundColor = ColorUtil.FromDrawingColor(System.Drawing.Color.White),
            BorderColor = ColorUtil.FromDrawingColor(System.Drawing.Color.Red),
            Label = "Weight per Day",
            Fill = false,
            BorderWidth = 2,
            PointRadius = 2,
            PointBorderWidth = 2,
            SteppedLine = SteppedLine.False,
            Hidden = false
        };
\u WeightDataSet=newlineDataSet
{
BackgroundColor=ColorUtil.FromDrawingColor(System.Drawing.Color.White),
BorderColor=ColorUtil.FromDrawingColor(System.Drawing.Color.Red),
Label=“每天体重”,
填充=假,
边框宽度=2,
点半径=2,
PointBorderWidth=2,
SteppedLine=SteppedLine.False,
隐藏=错误
};
您可能还必须将配置中的XAX配置为LinearCartesianAxis对象,才能正常工作。
2) 如果希望x轴具有时间值,而y轴具有双倍值,则需要使用TimeTuple,如您引用的示例中所述。您可能还必须在配置中将xAxes对象配置为时间轴对象。

3) 如果希望沿y轴绘制双精度(或int)值,并在x轴上绘制字符串标签,则需要使用ChartJs.Blazor.ChartJs.Common.Wrappers命名空间中提供的包装器,并将XAX配置为配置中的CategoryAxis对象。托管在

上的代码提供了一个示例,您可以使用ChartJs.Blazor支持的任何引用类型向图表添加数据。我确定了与折线图一起使用的3种主要数据类型。
1) 如果只想沿x轴和y轴使用(double/int)值类型,则可以使用ChartJs.Blazor.ChartJs.Common.Point数据类型。例如

_WeightDataSet = new LineDataset<ChartJs.Blazor.ChartJS.Common.Point>
        {
            BackgroundColor = ColorUtil.FromDrawingColor(System.Drawing.Color.White),
            BorderColor = ColorUtil.FromDrawingColor(System.Drawing.Color.Red),
            Label = "Weight per Day",
            Fill = false,
            BorderWidth = 2,
            PointRadius = 2,
            PointBorderWidth = 2,
            SteppedLine = SteppedLine.False,
            Hidden = false
        };
\u WeightDataSet=newlineDataSet
{
BackgroundColor=ColorUtil.FromDrawingColor(System.Drawing.Color.White),
BorderColor=ColorUtil.FromDrawingColor(System.Drawing.Color.Red),
Label=“每天体重”,
填充=假,
边框宽度=2,
点半径=2,
PointBorderWidth=2,
SteppedLine=SteppedLine.False,
隐藏=错误
};
您可能还必须将配置中的XAX配置为LinearCartesianAxis对象,才能正常工作。
2) 如果希望x轴具有时间值,而y轴具有双倍值,则需要使用TimeTuple,如您引用的示例中所述。您可能还必须在配置中将xAxes对象配置为时间轴对象。

3) 如果希望沿y轴绘制双精度(或int)值,并在x轴上绘制字符串标签,则需要使用ChartJs.Blazor.ChartJs.Common.Wrappers命名空间中提供的包装器,并将XAX配置为配置中的CategoryAxis对象。在

答案上托管的代码中提供了一个示例,该代码只包含链接,将来将被删除,因此请用代码及其解释发布您的答案。幸运的是,数据集现在可以使用任何类型,不再需要包装器。这已在中修复。只包含链接的答案将在将来被删除,因此请使用代码及其解释发布您的答案。幸运的是,数据集现在可以使用任何类型,不再需要包装器。这是固定的。嘿,我是你正在使用的库的维护者。如果您仍然面临这个问题,我建议您尝试使用新版本,如果您无法使其正常工作,则在上打开一个新版本:)嘿,我是您正在使用的库的维护者。如果您仍然面临此问题,我建议您尝试使用新版本,如果您无法使其正常工作,则在上打开新版本:)