我在MVC应用程序中使用System.Web.Helpers。
该应用程序创建了多个图表,经过多次尝试,我最终使其正常工作。
foreach (var m in model[0].HistoryValues)
{
var chart = new Chart(width: 600, height: 400)
.AddTitle(m.LastUpdateSTR)
.AddSeries(
name: m.LastUpdateSTR,
xValue: new[] { "Server", "Db", "Tickets" },
yValues: new[] { m.ServerPerformance, m.Databaseperformance, m.SoldTicketsLastThirtyMin == 0 ? 10 : m.SoldTicketsLastThirtyMin }
);
m.Bytes = chart.GetBytes("jpeg");
};
结果:
问题是我希望能够更改条形上的颜色。像这样:
我最近找不到有关如何执行此操作的文章。我发现的那些告诉我如何在图表上设置主题,但是如何在每个条形上设置特定的颜色?
图表助手是MVC,可惜它没有公开任何属性来轻松设置每个单独的列/字段。结果,您将不得不使用讨厌的字符串化主题,如下所示:
var theme = @"<Chart BackColor="Transparent">
<ChartAreas>
<ChartArea Name="Default" BackColor=""Transparent"></ChartArea>
</ChartAreas>
</Chart>";
然后将所述主题应用于您现有的主题Chart
:
var chart = new Chart(width: 600, height: 400, theme: theme)
然而,这些主题似乎非常有限,并且可能缺乏能够(至少容易地)定位单个条的必要功能。如果您需要这种功能,则可能要考虑研究替代库或第三方组件,例如HighCharts。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句