我正在开发情节/图表/图表。我想在基数10的Log上缩放Y轴 - 所以我希望Y轴上的值为0,10,100,1000,10000,100000。我也能得到比例,但想要相同距离的值。附上快照,了解我得到的和我想要的东西:
我从代码中得到的结果:
这是从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中有可能吗?任何帮助都非常感谢。
答案 0 :(得分:2)
您可能必须创建自己的对数轴。这个博客有一个例子:WPF & Silverlight Charting: A Logarithmic Axis。
答案 1 :(得分:0)
我使用OxyPlot开源来实现我的目标
答案 2 :(得分:0)
就像Tvd所说,你可以使用OxyPlot。
如果你看这里:OxyPlot Documentation它说文件正在建设中。 从来没有,进入你的代码,你可以做到这一点:
var logarithmicAxis = new LogarithmicAxis();
你可以使用3个构造函数......它应该从那里顺利航行。