我在我的 Winforms 專案中使用 C# 庫“LiveCharts”。我正在嘗試在幾個堆疊區域系列之上繪制一個常規線條系列,并想知道是否可以這樣做。
這是我的代碼:
mainChart.Series = new SeriesCollection
{
new StackedAreaSeries
{
Title = "Account1",
Values = new ChartValues<DateTimePoint>
{
new DateTimePoint(new System.DateTime(2022, 1, 1), 2000.5),
new DateTimePoint(new System.DateTime(2022, 1, 2), 2030.85),
new DateTimePoint(new System.DateTime(2022, 1, 3), 2030.48),
new DateTimePoint(new System.DateTime(2022, 1, 4), 2031.30),
new DateTimePoint(new System.DateTime(2022, 1, 5), 2035.08),
new DateTimePoint(new System.DateTime(2022, 1, 6), 2030.56),
new DateTimePoint(new System.DateTime(2022, 1, 7), 2029.56),
new DateTimePoint(new System.DateTime(2022, 1, 8), 2031)
},
LineSmoothness = 1,
//Fill = brush1
},
new StackedAreaSeries
{
Title = "Account2",
Values = new ChartValues<DateTimePoint>
{
new DateTimePoint(new System.DateTime(2022, 1, 1), 300),
new DateTimePoint(new System.DateTime(2022, 1, 2), 300),
new DateTimePoint(new System.DateTime(2022, 1, 3), 300),
new DateTimePoint(new System.DateTime(2022, 1, 4), 300),
new DateTimePoint(new System.DateTime(2022, 1, 5), 301),
new DateTimePoint(new System.DateTime(2022, 1, 6), 302.67),
new DateTimePoint(new System.DateTime(2022, 1, 7), 280),
new DateTimePoint(new System.DateTime(2022, 1, 8), 305)
},
LineSmoothness = 1
},
new StackedAreaSeries
{
Title = "Account3",
Values = new ChartValues<DateTimePoint>
{
new DateTimePoint(new System.DateTime(2022, 1, 1), 200),
new DateTimePoint(new System.DateTime(2022, 1, 2), 200),
new DateTimePoint(new System.DateTime(2022, 1, 3), 200),
new DateTimePoint(new System.DateTime(2022, 1, 4), 200),
new DateTimePoint(new System.DateTime(2022, 1, 5), 200),
new DateTimePoint(new System.DateTime(2022, 1, 6), 200),
new DateTimePoint(new System.DateTime(2022, 1, 7), 200),
new DateTimePoint(new System.DateTime(2022, 1, 8), 200)
},
LineSmoothness = 1
}
};
mainChart.Series.Add(
new LineSeries
{
Title = "GoalLine",
Values = new ChartValues<DateTimePoint>
{
new DateTimePoint(new System.DateTime(2022, 1, 1), 1500),
new DateTimePoint(new System.DateTime(2022, 1, 2), 1525),
new DateTimePoint(new System.DateTime(2022, 1, 3), 1550),
new DateTimePoint(new System.DateTime(2022, 1, 4), 1575),
new DateTimePoint(new System.DateTime(2022, 1, 5), 1600),
new DateTimePoint(new System.DateTime(2022, 1, 6), 1625),
new DateTimePoint(new System.DateTime(2022, 1, 7), 1650),
new DateTimePoint(new System.DateTime(2022, 1, 8), 1675)
},
LineSmoothness = 1
}
);
mainChart.AxisX.Add(new Axis
{
LabelFormatter = val => new System.DateTime((long)val).ToString("yyyy-MM-dd")
});
mainChart.AxisY.Add(new Axis
{
LabelFormatter = val => val.ToString("c")
});
mainChart.LegendLocation = LegendLocation.Right;
mainChart.DefaultLegend.Visibility = Visibility.Visible;
我試圖讓“GoalLine”總是出現在其他系列的前面,但似乎總是被拉在后面。我可以定義一個屬性來控制這些系列的繪制順序嗎?
這是一張關于如何在我的應用程式中繪制此圖的圖片。
uj5u.com熱心網友回復:
這是一個似乎與您遇到相同問題的人:
https://github.com/Live-Charts/Live-Charts/issues/231
您很可能需要設定線系列的 ZIndex 以使其顯示在頂部。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/477907.html
下一篇:使用打字稿渲染道具
