c# - ASP.Net Display DateTime 中的图表助手

标签 c# asp.net .net asp.net-mvc charts

在 asp.net mvc 应用程序中,我需要创建一个简单的折线图,所以我尝试了图表助手。该图表是使用两个列表创建的,x 轴应显示日期时间,y 轴应显示每个时间的值。现在使用下面的代码可以正常工作。 “listOfDateTimes”包含 DateTimes 列表。

    var chart = new Chart(width: 1000, height: 300, theme: ChartTheme.Green)
        .AddSeries(
                    chartType: "line",
                    xValue: listOfDateTimes,
                    yValues:  listOfValues )
                    .GetBytes("png");

问题是 x 轴下方的日期时间显示为“MM/dd/yyyy”,但我还需要显示小时和分钟。我不知道如何使用图表助手解决这个问题。

最佳答案

使用图表助手时,您必须通过提供自己的主题文件来自定义图表:

 var myChart = new Chart(width: 800, height: 400, themePath: "MyTheme3.xml")
              .AddSeries(
                          chartType: "line",
                          xValue: new[] { DateTime.Now,
                              DateTime.Now.AddSeconds(1),
                              DateTime.Now.AddSeconds(2),
                              DateTime.Now.AddSeconds(3),
                              DateTime.Now.AddSeconds(4) },
                          yValues: new[] { 40, 100, 60, 80, 20 })

使用此示例主题按照描述自定义您的 X 轴:

MyTheme3.xml:

<?xml version="1.0" encoding="utf-8" ?>
<Chart>
  <ChartAreas>
    <ChartArea Name="Default">
      <AxisX>
        <LabelStyle Format="MM/dd/yyyy hh:mm:ss"></LabelStyle>
      </AxisX>
    </ChartArea>
  </ChartAreas>
  <Series>
    <Series Name="Default"></Series>
  </Series>
</Chart>

enter image description here


编辑:如果您想通过属性以常规方式配置您的图表,那么您应该使用System.Web.UI.DataVisualization.Charting 命名空间。但是如果你想使用 System.Web.Helpers 命名空间,那么你必须像之前解释的那样去做。

关于c# - ASP.Net Display DateTime 中的图表助手,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41174245/

相关文章:

asp.net - 为什么我的 DropDownList 只为第一个列表项输出错误的值?

asp.net - 如何仅针对特定页面类型使 http 模块发生火灾事件

c# - 如何从列表集合中删除对象?

c# - NEST 2.0 ElasticSearch2 和 .NET C# WebAPI

c# - 使用证书文件通过 SSL 连接到 Web 服务

c# - 为什么编译器不能决定类型

c# - 能否在上传 Azure CloudBlockBlob 的同时在其上设置元数据?

c# - 在 C# 中使用双引用

c# - 将 XML 反序列化为类

c# - 我无法将简单的用户名与正则表达式匹配?