Asp.net mvc 在devexpress图表中更改颜色

Asp.net mvc 在devexpress图表中更改颜色,asp.net-mvc,devexpress,Asp.net Mvc,Devexpress,我正在MVC项目中使用Devexpress绘制饼图 在默认情况下,我的图表会生成三种颜色,如下所示 但是我的客户对它的颜色不满意,希望我更改与我们的应用程序背景相匹配的颜色,所以请帮助我,如何做到这一点 提前谢谢。 这是我的密码 settings.Name = "chart"; settings.Width = 600; settings.Height = 250; settings.BorderOptions.Visible = false; Seri

我正在MVC项目中使用Devexpress绘制饼图

在默认情况下,我的图表会生成三种颜色,如下所示

但是我的客户对它的颜色不满意,希望我更改与我们的应用程序背景相匹配的颜色,所以请帮助我,如何做到这一点

提前谢谢。 这是我的密码

    settings.Name = "chart";
    settings.Width = 600;
    settings.Height = 250;
    settings.BorderOptions.Visible = false;

    Series series1 = new Series("Type", DevExpress.XtraCharts.ViewType.Pie3D);
    settings.Series.Add(series1);
    series1.ArgumentScaleType = ScaleType.Qualitative;
    series1.ArgumentDataMember = "ClassName";
    series1.ValueScaleType = ScaleType.Numerical;
    series1.ValueDataMembers.AddRange(new string[] { "PercentageValues" });


    series1.LegendPointOptions.PointView = PointView.ArgumentAndValues;
    series1.LegendPointOptions.ValueNumericOptions.Format = NumericFormat.Percent;
    series1.LegendPointOptions.ValueNumericOptions.Precision = 0;
    series1.Label.ResolveOverlappingMode = ResolveOverlappingMode.Default;
    series1.Label.Visible = false;

可以设置图表控件的主题和调色板属性。按照以下链接访问devexpress文档。尽管这些示例引用了winform应用程序,但它们仍然可以在asp.net mvc控件中使用


可以设置图表控件的主题和调色板属性。按照以下链接访问devexpress文档。尽管这些示例引用了winform应用程序,但它们仍然可以在asp.net mvc控件中使用


请参考以下代码。我已经成功地实现了为rangebar提供自定义颜色的相同功能。我想这也适用于你的案子

 settings.CustomDrawSeriesPoint = (s, ev) =>
    {
        BarDrawOptions drawOptions = ev.SeriesDrawOptions as BarDrawOptions;

        if (drawOptions == null)
            return;

        Color colorInTarget = Color.Blue;
        double x = ev.SeriesPoint.Values[0];
        double y = ev.SeriesPoint.Values[1];


        if (x == 0)
        {  //Do starting
            colorInTarget = Color.FromArgb(159,125, 189);
        }
        else{
            //Red - price Increase
            // Green price Decrease
            if (y > previousYValue)
            {
                colorInTarget = Color.Red; ;
            }
            else
            {
                colorInTarget = Color.Green;
            }
        }


        previousYValue = y;

        drawOptions.Color = colorInTarget;
        drawOptions.FillStyle.FillMode = FillMode.Solid;
        drawOptions.Border.Color = Color.Transparent;



    };

请参考以下代码。我已经成功地实现了为rangebar提供自定义颜色的相同功能。我想这也适用于你的案子

 settings.CustomDrawSeriesPoint = (s, ev) =>
    {
        BarDrawOptions drawOptions = ev.SeriesDrawOptions as BarDrawOptions;

        if (drawOptions == null)
            return;

        Color colorInTarget = Color.Blue;
        double x = ev.SeriesPoint.Values[0];
        double y = ev.SeriesPoint.Values[1];


        if (x == 0)
        {  //Do starting
            colorInTarget = Color.FromArgb(159,125, 189);
        }
        else{
            //Red - price Increase
            // Green price Decrease
            if (y > previousYValue)
            {
                colorInTarget = Color.Red; ;
            }
            else
            {
                colorInTarget = Color.Green;
            }
        }


        previousYValue = y;

        drawOptions.Color = colorInTarget;
        drawOptions.FillStyle.FillMode = FillMode.Solid;
        drawOptions.Border.Color = Color.Transparent;



    };
私有列表GetStudentSummaryResults() { var StudentId=Convert.ToInt32(Request.Params[“StudentId”]); var StudentDetailsP=CtxSM.smisgetu studententedetailsbystudentid(StudentId,SessionDataManager.SessionData.LoginUserId,SessionDataManager.SessionData.AcademicYearID,SessionDataManager.SessionData.BusinessUnitId,ref outError)。ToList(); var Presents=StudentDetailsP.Select(p=>new{p.Months,p.Presents}); var CountsP=StudentDetailsP.Count(); List MT=新列表(); foreach(礼物中的var ab) { MT.Add(new StudentClass.ChartsPointsSummary{PresentSummaryX=ab.Months,PresentSummaryY=Convert.ToInt32(ab.Presents)}); } var StudentDetailsA=CtxSM.SMISGet_studententedetailsbystudentid(StudentId,SessionDataManager.SessionData.LoginUserId,SessionDataManager.SessionData.AcademicYearID,SessionDataManager.SessionData.BusinessUnitId,ref outError)。ToList(); var Absents=StudentDetailsP.Select(p=>new{p.Months,p.Absents}); var CountsA=StudentDetailsA.Count(); foreach(缺席时的var ab) { MT.Add(new StudentClass.ChartsPointsSummary{AbsentSummaryX=ab.Months,AbsentSummaryY=Convert.ToInt32(ab.Absents)}); } var StudentDetailsL=CtxSM.smisgetu studententedetailsbystudentid(StudentId,SessionDataManager.SessionData.LoginUserId,SessionDataManager.SessionData.AcademicYearID,SessionDataManager.SessionData.BusinessUnitId,ref outError)。ToList(); var CountL=StudentDetailsL.Count(); var Leaves=StudentDetailsP.Select(p=>new{p.Months,p.Leaves}); foreach(叶片中的var ab) { MT.Add(new StudentClass.ChartsPointsSummary{LeaveSummaryX=ab.Months,LeaveSummaryY=Convert.ToInt32(ab.Leaves)}); } 返回MT; } @Html.DevExpress()图表(设置=> { settings.Name=“SummaryDetailsById”; 设置。宽度=1032; 设置。高度=250; 系列图表系列=新系列(“礼物”,DevExpress.XtraCharts.ViewType.Bar); chartSeries.ArgumentDataMember=“PresentSummaryX”; chartSeries.ValueDataMembers[0]=“PresentSummary”; settings.Series.Add(chartSeries); Series chartSeries2=新系列(“缺席”,DevExpress.XtraCharts.ViewType.Bar); chartSeries2.ArgumentDataMember=“AbsentSummaryX”; chartSeries2.ValueDataMembers[0]=“AbsentSummary”; settings.Series.Add(chartSeries2); Series chartSeries3=新系列(“叶子”,DevExpress.XtraCharts.ViewType.Bar); chartSeries3.ArgumentDataMember=“LeaveSummaryX”; chartSeries3.ValueDataMembers[0]=“LeaveSummary”; 设置.系列.添加(图表系列3); settings.CrosshairEnabled=DefaultBoolean.Default; settings.BackColor=System.Drawing.Color.Transparent; settings.BorderOptions.Visibility=DefaultBoolean.True; settings.Titles.Add(新图表标题() { Text=“学生出勤总结” }); XYDiagram=((XYDiagram)settings.diagram); diagram.axix.Label.Angle=-30; diagram.AxisY.interlated=真; }).Bind(Model).GetHtml()
私有列表GetStudentSummaryResults()
{
var StudentId=Convert.ToInt32(Request.Params[“StudentId”]);
var StudentDetailsP=CtxSM.smisgetu studententedetailsbystudentid(StudentId,SessionDataManager.SessionData.LoginUserId,SessionDataManager.SessionData.AcademicYearID,SessionDataManager.SessionData.BusinessUnitId,ref outError)。ToList();
var Presents=StudentDetailsP.Select(p=>new{p.Months,p.Presents});
var CountsP=StudentDetailsP.Count();
List MT=新列表();
foreach(礼物中的var ab)
{
MT.Add(new StudentClass.ChartsPointsSummary{PresentSummaryX=ab.Months,PresentSummaryY=Convert.ToInt32(ab.Presents)});
}
var StudentDetailsA=CtxSM.SMISGet_studententedetailsbystudentid(StudentId,SessionDataManager.SessionData.LoginUserId,SessionDataManager.SessionData.AcademicYearID,SessionDataManager.SessionData.BusinessUnitId,ref outError)。ToList();
var Absents=StudentDetailsP.Select(p=>new{p.Months,p.Absents});
var CountsA=StudentDetailsA.Count();
foreach(缺席时的var ab)
{
MT.Add(new StudentClass.ChartsPointsSummary{AbsentSummaryX=ab.Months,AbsentSummaryY=Convert.ToInt32(ab.Absents)});
     private List<StudentClass.ChartsPointsSummary> GetStudentSummaryResults()
            {
                var StudentId = Convert.ToInt32(Request.Params["StudentID"]);

                var StudentDetailsP = CtxSM.SMISGet_StudentAttendanceDetailsByStudentId(StudentId, SessionDataManager.SessionData.LoginUserId, SessionDataManager.SessionData.AcademicYearID, SessionDataManager.SessionData.BusinessUnitId, ref outError).ToList();
                var Presents = StudentDetailsP.Select(p => new { p.Months, p.Presents});
                var CountsP = StudentDetailsP.Count();
                List<StudentClass.ChartsPointsSummary> MT = new List<StudentClass.ChartsPointsSummary>();
                foreach (var ab in Presents)
                {
                    MT.Add(new StudentClass.ChartsPointsSummary { PresentSummaryX = ab.Months, PresentSummaryY = Convert.ToInt32(ab.Presents) });
                }

                var StudentDetailsA = CtxSM.SMISGet_StudentAttendanceDetailsByStudentId(StudentId, SessionDataManager.SessionData.LoginUserId, SessionDataManager.SessionData.AcademicYearID, SessionDataManager.SessionData.BusinessUnitId, ref outError).ToList();
                var Absents = StudentDetailsP.Select(p => new { p.Months, p.Absents });
                var CountsA = StudentDetailsA.Count();
                foreach (var ab in Absents)
                {
                    MT.Add(new StudentClass.ChartsPointsSummary { AbsentSummaryX = ab.Months, AbsentSummaryY = Convert.ToInt32(ab.Absents) });
                }

                var StudentDetailsL = CtxSM.SMISGet_StudentAttendanceDetailsByStudentId(StudentId, SessionDataManager.SessionData.LoginUserId, SessionDataManager.SessionData.AcademicYearID, SessionDataManager.SessionData.BusinessUnitId, ref outError).ToList();
                var CountL = StudentDetailsL.Count();
                var Leaves = StudentDetailsP.Select(p => new { p.Months, p.Leaves });
                foreach (var ab in Leaves)
                {
                    MT.Add(new StudentClass.ChartsPointsSummary { LeaveSummaryX = ab.Months, LeaveSummaryY = Convert.ToInt32(ab.Leaves) });
                }
                return MT;
            }


@Html.DevExpress().Chart(settings =>
{

    settings.Name = "SummaryDetailsById";

    settings.Width = 1032;
    settings.Height = 250;

    Series chartSeries = new Series("Presents", DevExpress.XtraCharts.ViewType.Bar);
    chartSeries.ArgumentDataMember = "PresentSummaryX";
    chartSeries.ValueDataMembers[0] = "PresentSummaryY";
    settings.Series.Add(chartSeries);

    Series chartSeries2 = new Series("Absents", DevExpress.XtraCharts.ViewType.Bar);
    chartSeries2.ArgumentDataMember = "AbsentSummaryX";
    chartSeries2.ValueDataMembers[0] = "AbsentSummaryY";
    settings.Series.Add(chartSeries2);

    Series chartSeries3 = new Series("Leaves", DevExpress.XtraCharts.ViewType.Bar);
    chartSeries3.ArgumentDataMember = "LeaveSummaryX";
    chartSeries3.ValueDataMembers[0] = "LeaveSummaryY";
    settings.Series.Add(chartSeries3);

    settings.CrosshairEnabled = DefaultBoolean.Default;
    settings.BackColor = System.Drawing.Color.Transparent;
    settings.BorderOptions.Visibility = DefaultBoolean.True;

    settings.Titles.Add(new ChartTitle()
    {
        Text = "Student Attendance Summary"
    });

    XYDiagram diagram = ((XYDiagram)settings.Diagram);
    diagram.AxisX.Label.Angle = -30;
    diagram.AxisY.Interlaced = true;

}).Bind(Model).GetHtml()