WPF工具包是否可以像Excel一样缩放图表

时间:2013-09-17 11:50:28

标签: c# wpf excel charts scale

我正在开发情节/图表/图表。我想在基数10的Log上缩放Y轴 - 所以我希望Y轴上的值为0,10,100,1000,10000,100000。我也能得到比例,但想要相同距离的值。附上快照,了解我得到的和我想要的东西:

我从代码中得到的结果: This is what I GET

Results I am looking for :这是从Excel生成的图。在我的应用程序中,我想要这个结果,即数字之间的距离相等。

我用来缩放Y轴的代码:

public class LogConverter : IValueConverter
{

    public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        double x = double.Parse(value.ToString());
        int y = (int)x;
        switch (y)
        {
            case 0:
            case 10:
            case 100:
            case 1000:
            case 10000:
            case 100000: 
            case 1000000:
            case 10000000:
                Console.WriteLine("Log = " + value);
                return y.ToString();
            default:
                return null;
        }
    }

    public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        throw new NotImplementedException();
    }
}

我设置Min = 0& Y轴的最大(动态)及其间隔设置为10。 不知道如何实现这一目标?在WPF中有可能吗?任何帮助都非常感谢。

3 个答案:

答案 0 :(得分:2)

您可能必须创建自己的对数轴。这个博客有一个例子:WPF & Silverlight Charting: A Logarithmic Axis

答案 1 :(得分:0)

我使用OxyPlot开源来实现我的目标

答案 2 :(得分:0)

就像Tvd所说,你可以使用OxyPlot。

如果你看这里:OxyPlot Documentation它说文件正在建设中。 从来没有,进入你的代码,你可以做到这一点:

var logarithmicAxis = new LogarithmicAxis();

你可以使用3个构造函数......它应该从那里顺利航行。