如何在我的ASP(C#Razor)柱形图中添加(和格式化)线性趋势线?

时间:2016-03-14 13:08:23

标签: asp.net xml razor charts

我对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文件似乎没有区分能力来单向格式化柱形图,而我的折线图则采用另一种方式。

感谢任何帮助。

0 个答案:

没有答案