【发布时间】:2015-09-30 19:18:20
【问题描述】:
我正在使用图表工具包绘制频率与响度(分贝)的关系图。 横轴频率的值为 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 轴标签,以便我可以准确显示我上面提到的值?
【问题讨论】:
-
为什么不把频率放在y轴上?
-
其作业的要求。
标签: c# wpf xaml charts datavisualization.toolkit