如何使用主题文件自定义 ASP.NET 图表

2024-01-16

我想创建一个折线图,其中 x 轴是日期,y 轴上有绿色(0 位置)、黄色(1)和红色(2)的位置。

我怎样才能做到这一点?

目前只有数字。 我用 XML 尝试过,但我对它了解不多,而且有点令人困惑。我可以用它访问 y 轴的单个元素并将它们转换为文本吗? 我可以以某种方式在 axisLabel 的 Chart.AddSeries 方法中实现 if else 方法吗?

控制器

//XML
string t = @"
<Chart> 
  <ChartAreas> 
    <ChartArea Name=""Default"" _Template_=""All""> 
      <AxisY Interval=""1""> 
        <LabelStyle Font=""Verdana, 70px"" /> 
      </AxisY> 
    </ChartArea> 
  </ChartAreas> 
</Chart>";

var Date_min = OpenDate;
var Date_max = DateTime.Today;

var chart = new Chart(width: 300, height: 200, theme: t)
           .AddSeries(
                      chartType: "line",
                      name: "Temperature",
                      markerStep: 2,
                      xValue: Date_X,
                      yValues: Temperature_Y)       //0,1 or 2 for green, yellow and red                     
           .SetXAxis("Date", Date_min.ToOADate(), Date_max.ToOADate())
           .SetYAxis("Temperature", 0, 2.5)
           .GetBytes("png");

提前谢谢你的帮助。

Update

我浏览了 System.Web.UI.DataVisualization.Charting 框架,没有找到任何其他功能来解决我的问题。

我想更改 y 轴标签。不是 y 轴的一般标签,而是它的每个位置。只有 y 轴的三个位置需要重命名为绿色、黄色和红色,而不是 0、1、2。 x 轴的每个日期都会有相应的颜色。


用这个theme文件(或字符串)来创建自定义轴标签:

<?xml version="1.0" encoding="utf-8" ?> 
 <Chart> 
  <ChartAreas> 
    <ChartArea Name="Default" _Template_="All"> 
      <AxisY>
        <CustomLabels>
          <CustomLabel Text="GREEN (0 - 1)" ToPosition="1" />
          <CustomLabel FromPosition="1" Text="YELLOW (1 - 2)" ToPosition="2" />
          <CustomLabel FromPosition="2" Text="RED (2 - 3)" ToPosition="3" />
        </CustomLabels>
      </AxisY> 
    </ChartArea>
  </ChartAreas>
   <Series>
     <Series Name="Temperature" BorderWidth="3" >
     </Series>
   </Series>
   <Legends>
     <Legend Alignment="Center" Docking="Top" Name="Temperature">
     </Legend>
   </Legends>
 </Chart>

控制器.cs:

var Date_min = DateTime.Now.AddDays(-4);
var Date_max = DateTime.Now.AddDays(1);

        var chart = new Chart(width: 600, height: 400, themePath: "XMLFile1.xml")
                   .AddSeries(
                              chartType: "line",
                              name: "Temperature",
                              xValue: new DateTime[] { DateTime.Now.AddDays(-4), DateTime.Now.AddDays(-3), DateTime.Now.AddDays(-2), DateTime.Now.AddDays(-1), DateTime.Now },
                              yValues: new int[] { 2, 1, 2, 2, 1 })       //0,1 or 2 for green, yellow and red                     
                   .SetXAxis("Date", Date_min.ToOADate(), Date_max.ToOADate())
                   .SetYAxis("Temperature", 0, 3.0)
                   .Save("~/Image/MyChart.png", "png");
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用主题文件自定义 ASP.NET 图表 的相关文章

  • Visual Studios 2015 中的“恢复 NuGet 包”没有执行任何操作

    我将解决方案从 SVN 拉入 Visual Studios 2015 代码中的一些 使用 引用出现错误 因此我尝试在右键单击 解决方案 中的解决方案时运行 恢复 NuGet 包 选项探索者 这没有任何作用 我必须手动进入 nuget 管理器
  • 在 WCF 上重用我的 PagedList 对象

    问题 我有一个自定义集合PagedList
  • strtok() 使用安全吗[重复]

    这个问题在这里已经有答案了 我读到了很多负面的东西strtok 有人说它已经过时 有人说它不是线程安全的 等等 那么真相是什么 我可以使用吗strtok 它是线程安全的吗 Note 我正在使用 Visual C 您可以使用它 它是标准库的一
  • 信号与信号2

    我的应用程序可能会受益于使用 boost 的信号库之一而不是本土解决方案 该应用程序是多线程的 但执行信号处理的部分是单线程的 如果多线程不是问题 是否有任何理由更喜欢 Boost Signals2 而不是 Boost Signal Boo
  • Qt/c++ 随机字符串生成[重复]

    这个问题在这里已经有答案了 我正在创建一个应用程序 需要生成多个随机字符串 几乎就像一个由一定长度的 ASCII 字符组成的唯一 ID 这些字符混合有大写 小写 数字字符 有没有 Qt 库可以实现这一点 如果没有 在纯 C 中生成多个随机字
  • C# 中类似图的实现

    所以我有一个对象 我们称之为 Head 它有一个对象列表 C C1 C2 C3 T T1 T2 和 M M1 M2 并且所有这些都是相互关联的 例如 Head gt C1 C2 C3 T1 T2 M1 M2 T1 gt C1 C2 T2 g
  • 无法将参数从 `const char *` 转换为 `char *`

    鉴于此代码 void group build int size std string ips Build the LL after receiving the member list from bootstrap head new memb
  • 从内存流播放视频文件

    只是好奇看看这是否可能 我有一个 Windows 应用程序 它从我的电脑上的 avi 文件读取所有字节 然后将其存储在 byte 中 现在我的内存中有 avi 文件 我想直接从内存将其加载到某种视频播放器控件中 我尝试过使用 wmplaye
  • 在 .NET Core 中从 HttpResponseMessage 转换为 IActionResult

    我正在将之前在 NET Framework 中编写的一些代码移植到 NET Core 我有这样的事情 HttpResponseMessage result await client SendAync request if result St
  • 如何在 Visual Basic DLL 和 C++ DLL 之间创建隔离/免注册 COM?

    我必须在 C DLL 中使用 VB COM DLL 我弄清楚了如何从 C DLL 访问 VB COM DLL 并且它可以工作 现在我遇到了一个问题 我必须使用隔离的 COM 免注册 COM 因为我无法在必须使用它的每台 PC 上注册 DLL
  • FluentAssertions ShouldNotThrow 无法识别异步方法/Func

    我正在尝试检查异步方法是否抛出具体异常 为此 我使用 MSTEST 和 FluentAssertions 2 0 1 我已经检查过这个关于 Codeplex 的讨论 http fluentassertions codeplex com wo
  • 将我的自定义模型绑定到我的 POST 控制器

    我正在使用最近发布的 MVC 4 Beta 4 0 20126 16343 并且正在努力解决反序列化 模型绑定不适用于数组的已知问题 请参阅此处堆栈溢出 https stackoverflow com questions 9592838 d
  • 如何在 C++ 运行时更改 QML 对象的属性?

    我想在运行时更改 QML 对象的文本 我尝试如下 但文本仍然为空 这是后端类 class BackEnd public QObject Q OBJECT Q PROPERTY QString userFieldText READ userF
  • 使用 OleDbCommand / OleDbDataAdapter 读取 CSV 文件

    我不明白为什么 但是当我使用 OleDbDataAdapter 或 OleDbCommand 读取 CSV 文件时 在这两种情况下 生成的数据结构良好 它识别文件头中的列 但行数据都是空字符串 我之前已经成功进行过多次 CSV 处理 因此我
  • linq where 子句和 count 导致 null 异常

    除非 p School SchoolName 结果为 null 否则下面的代码将起作用 在这种情况下 它会导致 NullReferenceException if ExistingUsers Where p gt p StudentID i
  • 如何禁用基于 ValidationRule 类的按钮?

    如何禁用基于 ValidationRule 类的 WPF 按钮 下面的代码可以很好地突出显示 TextBox
  • 在特定线程上运行工作

    我想要一个特定的线程 任务队列并在该单独的线程中处理任务 应用程序将根据用户的使用情况创建任务并将其排队到任务队列中 然后单独的线程处理任务 即使队列为空 保持线程活动并使用它来处理排队任务也至关重要 我尝试过几种实现TaskSchedul
  • 如何释放字符串未使用的容量

    我正在程序中处理很多字符串 这些字符串数据在读入我的程序后的整个生命周期内都不会改变 但由于 C 字符串保留了容量 因此浪费了大量肯定不会被使用的空间 我尝试释放这些空间 但没有成功 以下是我尝试过的简单代码 string temp 123
  • 展开 std::reference_wrapper 的成本

    Given include
  • 如何在控制台程序中获取鼠标位置?

    如何在 Windows 控制台程序中用 C 获取鼠标单击位置 点击时返回鼠标位置的变量 我想用简单的文本命令绘制一个菜单 这样当有人点击时 游戏就会注册它并知道位置 我知道如何做我需要做的一切 除了单击时获取鼠标位置 您需要使用 Conso

随机推荐

  • Android - 以编程方式检查开发人员选项?

    我有一个使用意图用相机拍摄照片的应用程序 但最近我遇到了使用 后台进程限制 等开发人员选项的用户遇到的问题 他们关闭了所有后台应用程序 所以除了调用 onPause 和 onResume 之外 我的应用程序也被杀死了 我希望是否有可能检查此
  • SqlServer处于脚本升级模式

    Vista 刚刚完成了众多更新之一 重新启动计算机后 我尝试使用 Sql Server Management Studio 连接到 Sql Server 2008 实例 但收到此错误 连接到 MSSQLSERVER2008 时出错 附加信息
  • 使用 Jabber 发送网络消息

    也问过服务器故障 https serverfault com questions 19586 using jabber to send network messages 我也被建议将其发布在这里 我们需要在其他用户在线提交报告内容时通过网络
  • 如何在 TcxExtLookupComboBox 中使用 TcxCustomDataSource?

    我使用 Devexpress 的 TcxExtLookupComboBox 并尝试实现自定义数据源 我已经像这样设置了自定义数据源 procedure TMainForm FormCreate Sender TObject begin fD
  • 使用 R 将数据从 PDF 导入到 HTML

    有没有办法使用 R 将数据从 pdf 文件导入为 HTML 格式 我尝试使用以下代码 library tm filename file pdf doc lt readPDF control list text layout elem lis
  • Android NFC <技术列表> - 问题

    我想在 Android 上编写我的第一个 NFC 应用程序 为此 我使用 Android 开发人员链接 http developer android com guide topics nfc index html http develope
  • 如何将 FlowDocument 添加到 StackPanel?

    我创建了以下内容class为了有一个easy way显示格式化的WPF 文档中的文本 然而这个解决方案返回一个流程文件 我遇到了麻烦整合我当前应用程序中的这个 FlowDocument 只是添加文本块StackPanels WrapPane
  • 如何在 Python OpenCV 中读取 TIFF 图像的 Alpha 通道?

    我想使用 Python OpenCV 从 tiff 图像中读取 alpha 通道 我正在使用 Enthought Canopy 和 OpenCV 2 4 5 3 模块 我按照 OpenCV 网站的教程使用 cv2 imread 但它似乎不起
  • 通过函数链创建节点和边时,在命令末尾使用 Iterate() 步骤。这一步有什么用呢?

    在 Tinkerpop 3 3 Gremlin 中通过函数链创建节点和边时 在命令末尾使用 Iterate 步骤 这个 iterate 步骤的意义是什么 我在解释其功能的文档中找不到任何提及 iterate 步骤的内容 有人可以向我指出文档
  • 第二次在 foreach 时未在函数内定义变量

    考虑所有这些文件 vars php if local var var foo foo var1 var1 foo1 foo1 else var foo var1 foo1 remote vars remote php is the same
  • Facebook 与 API 版本 2.9 共享自定义参数

    我需要在 Facebook 上分享测验结果 其中包含自定义标题 图片和说明 效果完美4月18日更新至2 9版本之前 但它不适用于 2 9 版本 那我是不是错过了什么 或者 Facebook 不希望我们在 2017 年分享我们网站的自定义 F
  • 高尔夫代码:Mandelbrot 集

    Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的答案或互动 代码高尔夫的通常规则 下面以Python中的实现为例 from PIL import Imag
  • 如何对“process.platform”的程序撒谎?

    有一个在 Node 上运行的 CLI 可以通过以下方式执行command在命令行上 在其代码中 通过以下方式对 Windows 用户停用了某些功能if process platform win32 process exit 1 现在我想禁用
  • 如何匹配特定的 io::Error 类型?

    我试图一次读入一个文件直到最后 2 个字节 并且我想捕获 EOF 错误 use byteorder BigEndian ReadBytesExt 1 3 4 use std fs File fn main let filename etc
  • 使用 ARM TrustZone 防止从非安全世界访问内存区域

    Context 我想拥有一个有钱人GNU Linux操作系统运行在正常的世界和一个带有集成的小型操作系统Monitor运行在安全世界 要求 我们必须绝对避免 the 正常的世界访问安全世界内存区域 Question 具有哪些特征信任区我们需
  • Typescript 和 __proto__ 属性

    因此 每次提到 proto 后通常都会提到 Brendan Eich 请求不要使用它 我一直在使用 Typescript 进行一些反射 使用它将类的原型链导航到提供的祖先类 并且希望注入保存类元数据的单个原型属性 有谁知道我可能产生的性能开
  • 为什么 fileOutputStream 在客户端-服务器应用程序中无法在空行(或换行符)之后输出任何字符串?

    在我的客户端 服务器应用程序中 当我尝试从服务器端下载文件时 该文件会被下载 但无法读取标题信息 例如一些带有换行符的附加文本 正如您在我的服务器类中看到的 以下信息应该在客户端打印出来 outputToClient printf Stat
  • 优秀的图书馆文档

    我在这里找到了很多推荐使用Excel图书馆用于编辑 Excel 文件 但我在任何地方都找不到任何文档 http code google com p excellibrary http code google com p excellibra
  • Qt 鼠标移动事件未被事件过滤器捕获

    我似乎无法在 eventFilter 中捕获 QEvent MouseMove 类型的事件 这是我的事件过滤器 bool MapWidget c eventFilter QObject obj QEvent ev if obj graphi
  • 如何使用主题文件自定义 ASP.NET 图表

    我想创建一个折线图 其中 x 轴是日期 y 轴上有绿色 0 位置 黄色 1 和红色 2 的位置 我怎样才能做到这一点 目前只有数字 我用 XML 尝试过 但我对它了解不多 而且有点令人困惑 我可以用它访问 y 轴的单个元素并将它们转换为文本