DynamicDataDisplay学习之路(三)-后台常用参数方法

目录

一、DynamicDataDisplay参数方法 

隐藏右侧 legend:

隐藏左侧 legend:

隐藏网格:

取消鼠标右键弹出的菜单栏

取消鼠标拖动及缩放绘图仪

隐藏 X轴或Y轴

隐藏 长刻度线:

隐藏 短刻度线:

保存屏幕截图

自定义 刻度轴所显示的 字符串【在源码示例 “AxisColoringSample” 中学习】

自定义 刻度轴所显示字符串的 样式【在源码示例 “AxisColoringSample” 中学习】


一、DynamicDataDisplay参数方法 

展示的方法可以在以下代码中测试实现:

<Window x:Class="Simplest.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d3="http://research.microsoft.com/DynamicDataDisplay/1.0"    
    Title="Simplest plot sample" Height="243" Width="416">

    <d3:ChartPlotter Name="myPlotter" Margin="0,-0.521,0,0.521">
        <d3:ChartPlotter.MainHorizontalAxis>
            <d3:HorizontalAxis x:Name="hAxis"/>
        </d3:ChartPlotter.MainHorizontalAxis>
        <d3:ChartPlotter.MainVerticalAxis>
            <d3:VerticalAxis x:Name="vAxis"/>
        </d3:ChartPlotter.MainVerticalAxis>
    </d3:ChartPlotter>
</Window>

【图一】 

  • 隐藏右侧 legend:

myPlotter.LegendVisibility = Visibility.Hidden;
  • 隐藏左侧 legend:

myPlotter.NewLegendVisible = false;
  • 隐藏网格:

myPlotter.AxisGrid.Visibility = Visibility.Hidden;
//我在网上看到有这样写的,但是我用remove会报错:"AxisGrid"未包含"remove"的定义
//myPlotter.AxisGrid.remove();
  • 取消鼠标右键弹出的菜单栏

myPlotter.Children.Remove(myPlotter.DefaultContextMenu);
  • 取消鼠标拖动及缩放绘图仪

myPlotter.Children.Remove(myPlotter.MouseNavigation);
  • 隐藏 X轴或Y轴

vAxis.Visibility = Visibility.Hidden;
//这是只是隐藏了,之前轴宽度多少就会留白多少
//想要不留白直接 vAxis.Width = 0 或者 hAxis.Height= 0;
  • 隐藏 长刻度线:

hAxis.AxisControl.DrawTicks = false;
  • 隐藏 短刻度线:

hAxis.ShowMinorTicks = false;
  • 保存屏幕截图

SaveFileDialog dlg = new SaveFileDialog(); //文件选择弹出框
dlg.Filter = "PNG (*.png)|*.png|JPEG (*.jpg)|*.jpg|BMP (*.bmp)|*.bmp|GIF (*.gif)|*.gif";
dlg.FilterIndex = 1;
dlg.AddExtension = true;
if (dlg.ShowDialog().GetValueOrDefault(false))
{
	string filePath = dlg.FileName;
	myPlotter.SaveScreenshot(filePath);//filePath:取得保存的目录
}
  • 自定义 刻度轴所显示的 字符串【在源码示例 “AxisColoringSample” 中学习】

// 这将使最左侧的轴以百分比形式显示刻度。
vAxis.LabelProvider = new ToStringLabelProvider();
//标签字符串格式
vAxis.LabelProvider.LabelStringFormat = "{0}%"; 
//设置自定义格式设置工具
vAxis.LabelProvider.SetCustomFormatter(info => (info.Tick * 100).ToString());

【图二】

vAxis.LabelProvider = new ToStringLabelProvider();
vAxis.LabelProvider.SetCustomFormatter(info =>
{
    //info.Tick 代表刻度值
    if (info.Tick == 0)
    {
        return info.Tick.ToString("CH1");
    }
    else
    {
        return info.Tick.ToString("傻");
    }
});

【图三】

  • 自定义 刻度轴所显示字符串的 样式【在源码示例 “AxisColoringSample” 中学习】

// 不带余数的情况下,可以除以50的百分比值将是红色的,字体更大
vAxis.LabelProvider.SetCustomView((info, ui) =>
{
    if (((int)Math.Round(info.Tick * 100)) % 50 == 0)
    {
        TextBlock text = (TextBlock)ui;
        text.Foreground = Brushes.Red;
        text.FontSize = 20;
    }
});

【图四】

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值