2017-02-24 81 views
1

我有一個看起來像這樣至今的OxyPlot:圓的直徑

enter image description here

但我想,在中間有一個洞建立社交圈,我可以給圓直徑,怎麼這些應該是大的。

enter image description here

不要讓畫面刺激你,圓圈應該是相同的大小

最後,它應該是這樣的。帶圓圈的孔位於中間並具有一定的直徑。

XAML

<oxy:Plot x:Name="oxyPlot" Title="{Binding Title}" Height="279" Canvas.Left="259" Canvas.Top="29" Width="344" Background="#FFD1CFD0"> 
    <oxy:Plot.Axes> 
     <oxy:LinearAxis Position="Bottom" MinimumPadding="0.1" MaximumPadding="0.1"/> 
     <oxy:LinearAxis Position="Left" MinimumPadding="0.1" MaximumPadding="0.1"/> 
    </oxy:Plot.Axes> 
    <oxy:Plot.Series> 
     <oxy:LineSeries x:Name="ls" ItemsSource="{Binding Points}" LineStyle="None" MarkerType="Circle" MarkerSize="5" MarkerFill="Black"/> 
    </oxy:Plot.Series> 
</oxy:Plot> 

回答

3

你應該在你檢測LineSeries使用這些性能的組合:

MarkerStroke="Red" 
MarkerType="Circle" 
MarkerStrokeThickness="3" 
MarkerSize="5" 
MarkerFill="Transparent" 

MarkerSize確定半徑,MarkerStrokeThickness確定外部線的厚度。請注意,爲了在中間獲得一個空圈,MarkerStrokeThickness應該小於MarkerSizeMarkerFill決定了內圈的顏色,並且MarkerStroke決定了邊框的顏色。

更復雜的形狀可以通過MarkerType="Custom"和設置MarkerOutline屬性創建。

代碼

 ls.MarkerType = MarkerType.Circle; 
     ls.MarkerFill = System.Windows.Media.Colors.Transparent; 
     ls.MarkerStroke = System.Windows.Media.Colors.Red; 
     ls.MarkerSize = 40; 
     ls.MarkerStrokeThickness = 3; 
+0

非常感謝您! – GabelUndMesser

+0

我會有一個簡短的問題。如何更改代碼中的標記類型**而不是XAML中的標記類型?不幸的是,'oxyPlot.MarkerTyp'不會。我該怎麼做呢? – GabelUndMesser

+0

必須是這樣的:ls.MarkerType = MarkerTypes.Circle; – Ron