ASP.NET Graphique: définition des polices sur l'axe X et Y
-
16-09-2019 - |
Question
Considérons une méthode du contrôleur ASP.NET MVC qui construit une image graphique ASP.NET.
public FileStreamResult MakeImg(IEnumerable<MyObj> stats)
{
Chart barchart = BarChart(400, 300);
Series series1 = new Series("Series1");
series1.ChartArea = "ca1";
series1.ChartType = SeriesChartType.Column;
series1.IsValueShownAsLabel = true;
series1.Font = new Font("Verdana", 9f, FontStyle.Regular);
barchart.Series.Add(series1);
// Set chart data source
barchart.DataSource = stats;
// Set series members names for the X and Y values
barchart.Series["Series1"].XValueMember = "FriendlyDate";
barchart.Series["Series1"].YValueMembers = "NumRecords";
// Data bind to the selected data source
barchart.DataBind();
MemoryStream ms = new MemoryStream();
barchart.SaveImage(ms, ChartImageFormat.Png);
ms.Seek(0, SeekOrigin.Begin);
return new FileStreamResult(ms, "image/png");
}
L'image est rendue de manière peu attrayante:
fugly http://www.imagechicken.com/uploads/1253830647005451400.png
Question : Comment puis-je définir par programme la police pour le:
- X et l'axe Y étiquettes - à-dire 0 à 35 sur Y, et les dates X
- données - à savoir 12, 0, 0, 3, 6
La solution
chart.ChartAreas[0].AxisX.LabelStyle.Font
chart.ChartAreas[0].AxisY.LabelStyle.Font
est la propriété que vous devez définir la police pour les axes.
Autres conseils
Chart1.ChartAreas [0] = new .AxisX.LabelStyle.Font System.Drawing.Font ( "Verdana", 8f); Chart1.ChartAreas [0] = .AxisY.LabelStyle.ForeColor System.Drawing.Color.Red;
Un autre problème que je dû faire face était le crénelage sur le texte. Changement de .png
à .jpg
fait l'affaire!
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow