我对ASP中的图表创建相当新(Razor,C#,XML格式),我需要在柱形图中添加趋势线。
在StackOverflow和其他网站的其他地方,人们似乎在这个主题上引用http://www.4guysfromrolla.com/articles/111809-1.aspx,但在VB中看起来像是经典.NET。
为了提供我想要的例子,让我们说我目前有一个填充蓝色的列数列图。我想要一条黄色的趋势线,4px厚,1px黑色边框。
我的用途是:
@using System;
@using System.Linq;
@using System.Collections;
@using System.Collections.Generic;
@using System.Data;
@using System.Web.Helpers;
...但我真的不介意添加新的& /或删除一些不必要的建议。我目前的柱形图代码是:
var sqlCommand = "SELECT Date AS AssDate,(Q01+Q02+Q03+Q04+Q05+Q06+Q07+Q08+Q09+Q10+Q11+Q12+Q13+Q14) AS Qtotal FROM Asse WHERE ClientID = @0 ORDER BY AssDate asc";
var AssTotals = db.Query(sqlCommand, ClientID);
var Ass4ClientSumTrendline = new Chart(width: 1200, height: 800, themePath: "~/Admin/Charts/XML/Ass4ClientSumTrendline.xml")
.AddTitle("All Assessments")
.AddSeries(
chartType: "Column",
name: "Qtotal",
xValue: AssTotals,
xField: "AssDate",
yValues: AssTotals,
yFields: "Qtotal"
)
.SetYAxis(
min: 0,
max: 70
)
.Write();
然后我的XML文件是:
<?xml version="1.0" encoding="utf-8" ?>
<Chart BackColor="Cornsilk"
BackGradientStyle="TopBottom"
BackSecondaryColor="Khaki"
Palette="None"
AntiAliasing="All"
BorderStyle="Solid"
BorderWidth="2"
PaletteCustomColors="Blue; Pink; Indigo; LightSalmon; Violet; LightYellow; Red; LightGreen; Orange; LightBlue; Yellow; Plum; Green; PaleVioletRed">
<ChartAreas>
<ChartArea Name="Default" _Template_="All"
BackColor="White"
ShadowColor="#aaaaaa"
ShadowOffset="2"
BorderColor="#cccccc"
BorderDashStyle="Solid"
Position="5,5,90,90">
<AxisY LineColor="#cccccc" IsLabelAutoFit="true" IsMarginVisible="true" >
<MajorGrid LineColor="#cccccc" />
<MajorTickMark LineColor="#aaaaaa" LineWidth="1" LineDashStyle="Solid" />
<MinorGrid LineColor="transparent" />
<MinorTickMark LineColor="transparent" LineWidth="1" LineDashStyle="Solid" />
<LabelStyle Font="Verdana, 10 px" />
</AxisY>
<AxisX LineColor="#cccccc" IsLabelAutoFit="true" IsMarginVisible="true">
<MajorGrid LineColor="#cccccc" />
<MajorTickMark LineColor="#666666" />
<MinorGrid LineColor="transparent" />
<MinorTickMark LineColor="transparent" />
<LabelStyle Font="Verdana, 12 px" />
</AxisX>
</ChartArea>
</ChartAreas>
<Legends>
<Legend _Template_="All"
Alignment="Center"
BackColor="Transparent"
Docking="Bottom"
Font="Helvetica Neue, 12 px"
IsTextAutoFit ="False"
LegendStyle="Row">
</Legend>
</Legends>
<BorderSkin SkinStyle="Emboss" />
</Chart>
显然,我需要添加一个折线图作为另一个.AddSeries,但我根本无法理解的是如何格式化该线。 XML文件似乎没有区分能力来单向格式化柱形图,而我的折线图则采用另一种方式。
感谢任何帮助。