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)? (编辑:哈尔滨站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 无法通过IP地址连接ASP.NET开发服务器(VS2010)
- 在asp.net c#应用程序中使用Graphviz Dll
- .net – Viewstate隐藏字段如此之大,一切都会崩溃
- asp.net-mvc – DDD原理和ASP.NET MVC项目设计
- 使用asp.net中的web api通过http进行身份验证
- ASP.NET中XML转JSON的方法实例
- asp.net-mvc – 在MVC4中绑定的正确方法
- ASP.NET中操作SQL数据库(连接字符串的配置及获取)
- asp.net – Ajax Control Toolkit正在加载太多脚本资源
- asp.net – 访问.NET中的Web服务中的查询字符串(GET请求数组