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"/>
</Grid.RowDefinitions>
<Grid Grid.Row="0">
<lvc:CartesianChart XAxes="{Binding XAxes}" />
<lvc:CartesianChart x:Name="ch" XAxes="{Binding XAxes}" YAxes="{Binding YAxes}" Series="{Binding Series}" />
</Grid>
+1
View File
@@ -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; //定义数据库
+42 -34
View File
@@ -28,6 +28,10 @@ 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
{
@@ -38,52 +42,56 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
{
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 RectangularSection[] Sections { get; set; } =
public Axis[] YAxes { get; set; } =
{
new RectangularSection
new Axis
{
Yi = 8,
Yj = 8,
Stroke = new SolidColorPaint
{
Color = SKColors.Red,
StrokeThickness = 3,
PathEffect = new DashEffect(new float[] { 6, 6 })
MinLimit = 0,
// TextSize = 20,
LabelsDensity = 1,
Labels = MainWindowViewModel.Machines.AsEnumerable().Select(row=> row.Field<string>("name")).ToList(),//转换列名为机台
}
},
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,
Stroke = new SolidColorPaint ((SKColor)2.2, (float)5.4),
Fill = null,
Values = new ObservablePoint[]
{
/* 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)*/
}
}
},
// 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; }
}
}