c# - 如何在 DLL 中使用 System.Web.Helpers.Chart
问题描述
我想System.Web.Helpers.Chart
在我的项目中使用。我只是尝试了文档中的示例:
https://docs.microsoft.com/en-us/aspnet/web-pages/overview/data/7-displaying-data-in-a-chart
var myChart = new Chart(width: 600, height: 400)
.AddTitle("Chart Title")
.AddSeries(
name: "Employee",
xValue: new[] { "Peter", "Andrew", "Julie", "Mary", "Dave" },
yValues: new[] { "2", "6", "4", "5", "3" });
但是当我运行我的代码时,我收到以下错误:
System.ArgumentNullException: '值不能为空。参数名称:httpContext'
我的代码在 DLL 中,而不是 MVC 或 WebAPI 项目。所以我猜它因此缺少 HttpContext 。
还有办法Chart
从我的 DLL 项目中使用这个库吗?
解决方案
您需要参考 System.Drawing、System.Windows.Forms 和 System.Windows.Forms.DataVisualization。
这是从您在示例中提供的数据构建条形图(您可以选择所需的任何类型)并将其在本地保存到文件的片段。
using System.Drawing;
using System.Windows.Forms.DataVisualization.Charting;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
var chart = new Chart()
{
Size = new Size(600, 400),
Titles = { "Chart Title" }
};
var series = new Series("Employee");
series.ChartType = SeriesChartType.Bar;
series.Points.DataBindXY(new[] { "Peter", "Andrew", "Julie", "Mary", "Dave" }, new[] { 2, 6, 4, 5, 3 });
chart.ChartAreas.Add(new ChartArea());
chart.Series.Add(series);
chart.SaveImage("TestChart.png", ChartImageFormat.Png);
}
}
}
推荐阅读
- javascript - 当页面被添加书签时添加查询参数
- azure-log-analytics - 如何透视日志分析数据 (Kusto)
- apache-nifi - Apache Nifi 无法使用 zookeeper 字符串中的多个注释
- android - 如何使 RecyclerView 的适配器显示添加按钮作为最后一行?
- nao-robot - NAO Robot:如何重写qi框架的声音处理示例?
- reactjs - 在 Gitgraph 中为特定提交的节点设置颜色
- c++ - While循环比较大小而不是数量
- lua - ZeroBrane 与 Lua 5.4
- python - 将数据转换为字典以进行发布请求
- flutter - Flutter/Dart - FutureBuilder bool 不返回 bool