Asp.net mvc 在devexpress图表中更改颜色
我正在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
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()