2015-09-30 43 views
1

我正在使用製圖工具包繪製頻率與響度(分貝)的關係圖。 水平軸的頻率值爲100,250,500,1000,2000,4000,6000和8000. 當我繪製圖表時,橫軸顯示了根據'間隔'的頻率值,該間隔保持不變x軸上。我的x軸值有不同的間隔。 更新: 我想要一個折線圖。這裏是全碼 XAML是:製圖工具包自定義水平軸值

<chartingToolkit:Chart Name="lineChart" 
     Title="Results"> 
     <chartingToolkit:LineSeries Name="MyData" 
      Title="Calculated data" 
      DependentValuePath="Value" 
      IndependentValuePath="Key" 
      ItemsSource="{Binding [0]}"/> 
     <chartingToolkit:Chart.Axes> 
      <chartingToolkit:LinearAxis 
       Orientation="Y" 
       Minimum="0" Maximum="80" 
       Title="Loudness in dB" 
       Interval="5" /> 
      <chartingToolkit:LinearAxis Name="xAxis" 
       Orientation="X" 
       Minimum="0" Maximum="8000" 
       Title="Frequency in Hz" 
       Interval="500" /> 
     </chartingToolkit:Chart.Axes> 
    </chartingToolkit:Chart> 

和C#代碼是:

private void ShowLineChart(myChartResult) 
// myChartResult is a List of objects 
// each object has a frequency and decibel field 
    { 
     var dataSourceList = new List<List<KeyValuePair<int, int>>>(); 

     for (int i = 0; i < myChartResult.Count; i++) 
      dataSourceList.Add(new KeyValuePair<int, int> 
       (myChartResult[i].frequency, 
       myChartResult[i].decibels)); 
     lineChart.DataContext = dataSourceList; 
} 

在該圖中,對100和250的分貝值被繪製,但在水平軸不顯示頻率值爲100和250. 有沒有辦法自定義(在XAML或c#中)X軸標籤,以便我可以準確地顯示上面提到的值?

+0

爲什麼不把頻率在y軸? –

+0

其任務的要求。 – imran2155

回答

1

使用ColumnSeries

<chartingToolkit:Chart Margin="0" Title="Chart Title"> 
     <chartingToolkit:Chart.DataContext> 
      <local:MyDataCollection/> 
     </chartingToolkit:Chart.DataContext> 
     <chartingToolkit:ColumnSeries DependentValuePath="Decibel" IndependentValuePath="Frequency" ItemsSource="{Binding}"/> 
    </chartingToolkit:Chart> 

enter image description here

+0

感謝您的時間和答覆。但是我正在尋找具有與您剛剛展示的相同x軸輸出的線圖。請看看我上面粘貼的完整代碼,並給予指導......關心 – imran2155