fix: 그래프 스타일 적용

prototype
HyungJune Kim 6 months ago
parent 18b7a31ee7
commit 59865bc040

@ -30,7 +30,7 @@ namespace SmartAquaViewer.ViewModel
private void ApplyCommonAxisSettings(Axis axis, string title, AxisPosition position)
{
axis.Position = position;
axis.Title = title;
if (!string.IsNullOrEmpty(title)) axis.Title = title;
axis.TitleFontSize = 14;
axis.FontSize = 12;
axis.MajorGridlineStyle = LineStyle.Solid;
@ -150,20 +150,19 @@ namespace SmartAquaViewer.ViewModel
Model.Axes.Clear();
var xAxis = new DateTimeAxis
{
Position = AxisPosition.Bottom,
Title = "시간",
StringFormat = "HH:mm:ss",
IntervalType = DateTimeIntervalType.Minutes,
MajorGridlineStyle = LineStyle.Solid,
MinorGridlineStyle = LineStyle.Dot,
};
ApplyCommonAxisSettings(xAxis, "시간", AxisPosition.Bottom);
var yAxis = new LinearAxis
{
Position = AxisPosition.Left,
Title = dataType == DataType.Energy ? "전력 (kW)" : "온실가스 (tCO₂)",
MajorGridlineStyle = LineStyle.Solid,
MinorGridlineStyle = LineStyle.Dot
};
string yTitle = dataType == DataType.Energy ? "전력 (kW)" : "온실가스 (tCO₂)";
ApplyCommonAxisSettings(yAxis, yTitle, AxisPosition.Left);
Model.Axes.Add(xAxis);
Model.Axes.Add(yAxis);
@ -221,27 +220,14 @@ namespace SmartAquaViewer.ViewModel
Axis xAxis = xIsTime
? new DateTimeAxis
{
Position = AxisPosition.Bottom,
Title = xField.Display,
StringFormat = "HH:mm:ss",
IntervalType = DateTimeIntervalType.Minutes,
MajorGridlineStyle = LineStyle.Solid,
MinorGridlineStyle = LineStyle.Dot
}
: new LinearAxis
{
Position = AxisPosition.Bottom,
Title = xField.Display,
MajorGridlineStyle = LineStyle.Solid,
MinorGridlineStyle = LineStyle.Dot
};
var yAxis = new LinearAxis
{
Position = AxisPosition.Left,
Title = yField!.Display,
MajorGridlineStyle = LineStyle.Solid,
MinorGridlineStyle = LineStyle.Dot
};
: new LinearAxis();
ApplyCommonAxisSettings(xAxis, xField.Display, AxisPosition.Bottom);
var yAxis = new LinearAxis();
ApplyCommonAxisSettings(yAxis, yField.Display, AxisPosition.Left);
Model.Axes.Add(xAxis);
Model.Axes.Add(yAxis);
@ -315,18 +301,15 @@ namespace SmartAquaViewer.ViewModel
// 축
var xAxis = new CategoryAxis
{
Position = AxisPosition.Bottom,
GapWidth = 0.3,
IsPanEnabled = false,
IsZoomEnabled = false
};
var yAxis = new LinearAxis
{
Position = AxisPosition.Left,
Title = valueField.Name,
MinorGridlineStyle = LineStyle.Dot,
MajorGridlineStyle = LineStyle.Solid
};
ApplyCommonAxisSettings(xAxis, string.Empty, AxisPosition.Bottom);
var yAxis = new LinearAxis();
ApplyCommonAxisSettings(yAxis, valueField.Name, AxisPosition.Left);
Model.Axes.Add(xAxis);
Model.Axes.Add(yAxis);
@ -418,24 +401,15 @@ namespace SmartAquaViewer.ViewModel
bool xIsTime = string.Equals(xAxisField.Name, "RecordedTime", StringComparison.OrdinalIgnoreCase);
Axis xAxis = xIsTime
? new DateTimeAxis
{
Position = AxisPosition.Bottom,
Title = xAxisField.Display,
StringFormat = "MM-dd\nHH:mm"
? new DateTimeAxis
{
StringFormat = "MM-dd\nHH:mm"
}
: new LinearAxis
{
Position = AxisPosition.Bottom,
Title = xAxisField.Display,
};
var yAxis = new LinearAxis
{
Position = AxisPosition.Left,
Title = yAxisField.Display,
MajorGridlineStyle = LineStyle.Solid,
MinorGridlineStyle = LineStyle.Dot
};
: new LinearAxis();
ApplyCommonAxisSettings(xAxis, xAxisField.Display, AxisPosition.Bottom);
var yAxis = new LinearAxis();
ApplyCommonAxisSettings(yAxis, yAxisField.Display, AxisPosition.Left);
Model.Axes.Add(xAxis);
Model.Axes.Add(yAxis);
@ -552,7 +526,8 @@ namespace SmartAquaViewer.ViewModel
Position = AxisPosition.Bottom,
Title = "시간",
GapWidth = 0.2,
Angle = 45
Angle = 45,
TickStyle = TickStyle.None
};
foreach (var r in rows)
@ -564,7 +539,8 @@ namespace SmartAquaViewer.ViewModel
Model.Axes.Add(new LinearAxis
{
Position = AxisPosition.Left,
Title = "값"
Title = "값",
TickStyle = TickStyle.None
});
foreach (var field in yAxisFields)
@ -677,21 +653,15 @@ namespace SmartAquaViewer.ViewModel
// X축: 시간
var xAxis = new DateTimeAxis
{
Position = AxisPosition.Bottom,
Title = "시간",
StringFormat = "HH:mm:ss",
IntervalType = DateTimeIntervalType.Minutes,
MajorGridlineStyle = LineStyle.Solid,
MinorGridlineStyle = LineStyle.Dot
};
ApplyCommonAxisSettings(xAxis, "시간", AxisPosition.Bottom);
// Y축: 전력
var yAxis = new LinearAxis
{
Position = AxisPosition.Left,
Title = dataType == DataType.Energy ? "전력 (kW)" : "온실가스 (tCO₂)",
MajorGridlineStyle = LineStyle.Solid,
MinorGridlineStyle = LineStyle.Dot
};
var yAxis = new LinearAxis();
string yTitle = dataType == DataType.Energy ? "전력 (kW)" : "온실가스 (tCO₂)";
ApplyCommonAxisSettings(yAxis, yTitle, AxisPosition.Left);
Model.Axes.Add(xAxis);
Model.Axes.Add(yAxis);
@ -792,8 +762,9 @@ namespace SmartAquaViewer.ViewModel
StartAngle = 0,
StrokeThickness = 0.5,
InsideLabelFormat = "{1}\n {0:F2}",
InsideLabelPosition = 0.8,
OutsideLabelFormat = null // 라벨은 내부만
InsideLabelPosition = 0.5,
OutsideLabelFormat = null, // 라벨은 내부만
FontSize = 14,
};
if (donut) ps.InnerDiameter = 0.6; // 도넛 모드

Loading…
Cancel
Save