asp.net – 如何在MVC 3中设置图表系列颜色?
我在用着
在我的MVC3应用程序中显示图表. @{ var myChart = new Chart(width: 600,height: 400) .AddTitle("Resource Utilization in Projects in Week 1") .AddSeries( name: "Project1",chartType: "StackedColumn",xValue: new[] { "W1","W2","W3","W4","W5" },yValues: new[] { 80,60,40,20,10} ) .AddSeries( name: "Project2",yValues: new[] { 10,10,10 } ) .AddSeries( name: "Available",yValues: new[] { "10","30","50","70","80" } ) .AddLegend(); myChart.Write(); } 然而,系列的颜色由图表上有多少系列随机挑选.有没有人知道如何设定特定系列的特定颜色? 我在线发现Charting样本来设置颜色,但是它们正在使用命名空间
解决方法如果要自定义图表,则需要创建ChartTheme.不幸的是,这些看起来有点黑客…例如.尝试设置这样的主题: var myChart = new Chart(width: 600,height: 400,theme: ChartTheme.Green) 你会注意到你的图表看起来不一样.如果您点击ChartTheme.Green,然后按F12(转到定义),您将看到ChartTheme类中有大量字符串,用于定义图表的风格: public const string Blue = @"<Chart BackColor=""#D3DFF0"" BackGradientStyle=""TopBottom"" BackSecondaryColor=""White"" BorderColor=""26,59,105"" BorderlineDashStyle=""Solid"" BorderWidth=""2"" Palette=""BrightPastel""> <ChartAreas> <ChartArea Name=""Default"" _Template_=""All"" BackColor=""64,165,191,228"" BackGradientStyle=""TopBottom"" BackSecondaryColor=""White"" BorderColor=""64,64,64"" BorderDashStyle=""Solid"" ShadowColor=""Transparent"" /> </ChartAreas> <Legends> <Legend _Template_=""All"" BackColor=""Transparent"" Font=""Trebuchet MS,8.25pt,style=Bold"" IsTextAutoFit=""False"" /> </Legends> <BorderSkin SkinStyle=""Emboss"" /> </Chart>"; 你可以在这个XML中定制大量的东西(为什么XML?我不知道!),尽管你使用的图表类型会影响你可以做的许多工作.您可以在这里找到文档: http://msdn.microsoft.com/en-us/library/dd456696.aspx 编辑:此链接也可能有用: New asp.net charting controls – will they work with MVC (eventually)? (编辑:4S站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – ASP.NET MVC现在是“开源”.这是一件好事吗
- asp.net – WebForm_DoCallback定义
- asp.net-ajax – Ajax脚本管理器和母版页
- IIS ASP.NET WebApi在请求同一台服务器时死锁
- asp.net – Windows应用程序与Web应用程序开发
- asp.net-mvc – 如何使输入字段仅允许使用EF和数据注释的数
- ASP.NET 2.0 JQuery AJAX登录
- asp.net – 菜单控件生成的js导致Web窗体中的Sys未定义的异
- ASP.NET Core中调整HTTP请求大小的几种方法详解
- 将变量从ASP.net传递给JavaScript