gpt4 book ai didi

asp.net - 如何在 MVC 3 中设置图表系列颜色?

转载 作者:行者123 更新时间:2023-12-04 03:30:33 24 4
gpt4 key购买 nike

我正在使用

System.Web.Helpers.Chart



在我的 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",
chartType: "StackedColumn",
xValue: new[] { "W1", "W2", "W3", "W4", "W5" },
yValues: new[] { 10, 10, 0, 10, 10 }
)
.AddSeries(
name: "Available",
chartType: "StackedColumn",
xValue: new[] { "W1", "W2", "W3", "W4", "W5" },
yValues: new[] { "10", "30", "50", "70", "80" }
)
.AddLegend();

myChart.Write();
}

然而,系列的颜色是根据图表上的系列数量随机选择的。有谁知道如何为某些系列设置特定颜色?

我在网上找到了用于设置颜色的图表示例,但它们使用的是命名空间

System.Web.UI.DataVisualization.Charting

最佳答案

如果要自定义图表,则需要创建 ChartTheme。不幸的是,这些看起来有点 hacky...

例如。尝试设置这样的主题:

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, 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)?

关于asp.net - 如何在 MVC 3 中设置图表系列颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5783502/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com