diff --git a/View/ProductionPlanningView.xaml b/View/ProductionPlanningView.xaml
index cc3bb3d..85316ab 100644
--- a/View/ProductionPlanningView.xaml
+++ b/View/ProductionPlanningView.xaml
@@ -21,7 +21,7 @@
-
+
diff --git a/View/ProductionPlanningView.xaml.cs b/View/ProductionPlanningView.xaml.cs
index 0ef2a4a..e78f0bc 100644
--- a/View/ProductionPlanningView.xaml.cs
+++ b/View/ProductionPlanningView.xaml.cs
@@ -44,6 +44,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
{
InitializeComponent();
DataContext = new ProductionPlanningModel();
+ ch.ZoomMode = LiveChartsCore.Measure.ZoomAndPanMode.PanX | LiveChartsCore.Measure.ZoomAndPanMode.ZoomY;
}
private SQLiteHelper SQLiteHelpers = null; //定义数据库
diff --git a/ViewModel/ProductionPlanningModel.cs b/ViewModel/ProductionPlanningModel.cs
index c097c15..849a6e1 100644
--- a/ViewModel/ProductionPlanningModel.cs
+++ b/ViewModel/ProductionPlanningModel.cs
@@ -28,62 +28,70 @@ using System.Runtime.CompilerServices;
using System.Windows;
using SunlightCentralizedControlManagement_SCCM_.View;
using LiveChartsCore.SkiaSharpView.Painting.Effects;
+using LiveChartsCore.Drawing;
+using LiveChartsCore.SkiaSharpView.Drawing.Geometries;
+using System.Windows.Documents;
+using System.Reflection;
namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
-{
+{
public partial class ProductionPlanningModel : ObservableObject//ViewModelBase
{
//x轴时间格式
public Axis[] XAxes { get; set; } =
{
new DateTimeAxis(TimeSpan.FromSeconds(5) , date => date.ToString("yyyy-MM-dd HH:mm"))
- {
- // CrosshairLabelsBackground = SKColors.DarkGray.AsLvcColor(),
- // CrosshairLabelsPaint = new SolidColorPaint(SKColors.DarkSlateBlue, 1),
- // CrosshairPaint = new SolidColorPaint(SKColors.DarkSlateGray, 1),
+ {
+ CrosshairLabelsBackground = SKColors.DarkGray.AsLvcColor(),
+ CrosshairLabelsPaint = new SolidColorPaint(SKColors.DarkSlateBlue, 1),
+ CrosshairPaint = new SolidColorPaint(SKColors.DarkSlateGray, 1),
},
};
+
+ public Axis[] YAxes { get; set; } =
+ {
+ new Axis
+ {
+ MinLimit = 0,
+ // TextSize = 20,
+ LabelsDensity = 1,
+ Labels = MainWindowViewModel.Machines.AsEnumerable().Select(row=> row.Field("name")).ToList(),//转换列名为机台
+
+ }
+ };
- public RectangularSection[] Sections { get; set; } =
- {
- new RectangularSection
+ public ProductionPlanningModel()
{
- Yi = 8,
- Yj = 8,
- Stroke = new SolidColorPaint
+ var r = new Random();
+ var values1 = new ObservableCollection();
+
+ for (var i = 0; i < 20; i++)
{
- Color = SKColors.Red,
- StrokeThickness = 3,
- PathEffect = new DashEffect(new float[] { 6, 6 })
+ values1.Add(new ObservablePoint(r.Next(10, 20), r.Next(0, 20)));
}
- },
- new RectangularSection
- {
- Xi = 4,
- Xj = 6,
- Fill = new SolidColorPaint { Color = SKColors.Blue.WithAlpha(20) }
- },
- };
- public ISeries[] Series { get; set; } =
- {
- new ScatterSeries
- {
- GeometrySize = 10,
- Stroke = new SolidColorPaint ((SKColor)2.2, (float)5.4),
- Fill = null,
- Values = new ObservablePoint[]
+ Series = new ISeries[]
{
- /* 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),
- 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)*/
- }
+ // 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
+ {
+ Values = values1,
+ Stroke = null,
+ GeometrySize = 10,
+ },
+
+ // You can also use SVG paths to draw the geometry
+ // LiveCharts already provides some predefined paths in the SVGPoints class.
+
+
+ // you can declare your own gemetry and use the SkiaSharp api to draw it
+
+ };
}
- };
+
+ public ISeries[] Series { get; set; }
}
}