This commit is contained in:
sc committed 2024-12-22 23:56:54 +08:00
commit c70c5ce1fb
3 files changed
+44 -35

No files matched your search

+1 -1
View File
@@ -21,7 +21,7 @@
<RowDefinition Height="60"/> <RowDefinition Height="60"/>
</Grid.RowDefinitions> </Grid.RowDefinitions>
<Grid Grid.Row="0"> <Grid Grid.Row="0">
<lvc:CartesianChart XAxes="{Binding XAxes}" /> <lvc:CartesianChart x:Name="ch" XAxes="{Binding XAxes}" YAxes="{Binding YAxes}" Series="{Binding Series}" />
</Grid> </Grid>
+1
View File
@@ -44,6 +44,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
{ {
InitializeComponent(); InitializeComponent();
DataContext = new ProductionPlanningModel(); DataContext = new ProductionPlanningModel();
ch.ZoomMode = LiveChartsCore.Measure.ZoomAndPanMode.PanX | LiveChartsCore.Measure.ZoomAndPanMode.ZoomY;
} }
private SQLiteHelper SQLiteHelpers = null; //定义数据库 private SQLiteHelper SQLiteHelpers = null; //定义数据库
+42 -34
View File
@@ -28,6 +28,10 @@ using System.Runtime.CompilerServices;
using System.Windows; using System.Windows;
using SunlightCentralizedControlManagement_SCCM_.View; using SunlightCentralizedControlManagement_SCCM_.View;
using LiveChartsCore.SkiaSharpView.Painting.Effects; using LiveChartsCore.SkiaSharpView.Painting.Effects;
using LiveChartsCore.Drawing;
using LiveChartsCore.SkiaSharpView.Drawing.Geometries;
using System.Windows.Documents;
using System.Reflection;
namespace SunlightCentralizedControlManagement_SCCM_.ViewModel namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
{ {
@@ -38,52 +42,56 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
{ {
new DateTimeAxis(TimeSpan.FromSeconds(5) , date => date.ToString("yyyy-MM-dd HH:mm")) new DateTimeAxis(TimeSpan.FromSeconds(5) , date => date.ToString("yyyy-MM-dd HH:mm"))
{ {
// CrosshairLabelsBackground = SKColors.DarkGray.AsLvcColor(), CrosshairLabelsBackground = SKColors.DarkGray.AsLvcColor(),
// CrosshairLabelsPaint = new SolidColorPaint(SKColors.DarkSlateBlue, 1), CrosshairLabelsPaint = new SolidColorPaint(SKColors.DarkSlateBlue, 1),
// CrosshairPaint = new SolidColorPaint(SKColors.DarkSlateGray, 1), CrosshairPaint = new SolidColorPaint(SKColors.DarkSlateGray, 1),
}, },
}; };
public RectangularSection[] Sections { get; set; } = public Axis[] YAxes { get; set; } =
{ {
new RectangularSection new Axis
{ {
Yi = 8, MinLimit = 0,
Yj = 8, // TextSize = 20,
Stroke = new SolidColorPaint LabelsDensity = 1,
{ Labels = MainWindowViewModel.Machines.AsEnumerable().Select(row=> row.Field<string>("name")).ToList(),//转换列名为机台
Color = SKColors.Red,
StrokeThickness = 3,
PathEffect = new DashEffect(new float[] { 6, 6 })
} }
},
new RectangularSection
{
Xi = 4,
Xj = 6,
Fill = new SolidColorPaint { Color = SKColors.Blue.WithAlpha(20) }
},
}; };
public ISeries[] Series { get; set; } = public ProductionPlanningModel()
{ {
new ScatterSeries<ObservablePoint> var r = new Random();
var values1 = new ObservableCollection<ObservablePoint>();
for (var i = 0; i < 20; i++)
{ {
values1.Add(new ObservablePoint(r.Next(10, 20), r.Next(0, 20)));
}
Series = new ISeries[]
{
// use the second type parameter to specify the geometry to draw for every point
// there are already many predefined geometries in the
// LiveChartsCore.SkiaSharpView.Drawing.Geometries namespace
new ScatterSeries<ObservablePoint, RoundedRectangleGeometry>
{
Values = values1,
Stroke = null,
GeometrySize = 10, GeometrySize = 10,
Stroke = new SolidColorPaint ((SKColor)2.2, (float)5.4), },
Fill = null,
Values = new ObservablePoint[] // You can also use SVG paths to draw the geometry
{ // LiveCharts already provides some predefined paths in the SVGPoints class.
/* new(2.2, 5.4), new(4.5, 2.5), new(4.2, 7.4),
new(6.4, 9.9), new(4.2, 9.2), new(5.8, 3.5),
new(7.3, 5.8), new(8.9, 3.9), new(6.1, 4.6), // you can declare your own gemetry and use the SkiaSharp api to draw it
new(9.4, 7.7), new(8.4, 8.5), new(3.6, 9.6),
new(4.4, 6.3), new(5.8, 4.8), new(6.9, 3.4),
new(7.6, 1.8), new(8.3, 8.3), new(9.9, 5.2),
new(8.1, 4.7), new(7.4, 3.9), new(6.8, 2.3)*/
}
}
}; };
}
public ISeries[] Series { get; set; }
} }
} }