2013年12月19日

WPFChart: 凡例表示を消す

   このエントリーをはてなブックマークに追加 Clip to Evernote
Chartクラスには、凡例のスタイルを指定する LegendStyleプロパティがあります。
このLegendStyleでスタイルを変更することで、凡例表示を消す事ができます。

LegendStyle01


上に示したチャートでは、グラフの右側が詰まりすぎないように、Widthプロパティを10にし、Opacityプロパティを 0 (完全透過)にしています。
そのXAMLを以下に示します。

<Window
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:chartingToolkit="clr-namespace:System.Windows.Controls.DataVisualization.Charting;assembly=System.Windows.Controls.DataVisualization.Toolkit" 
        x:Class="ChartSample2.MainWindow"
        xmlns:my="clr-namespace:ChartSample2"
        Title="MainWindow" Height="350" Width="525">
    <Window.Resources>
        <my:MyData x:Key="myData" />
    </Window.Resources>
    <Grid>
        <chartingToolkit:Chart HorizontalAlignment="Stretch" VerticalAlignment="Stretch"
                               Margin="10" 
                               Title="ブラウザ利用割合"                                
                               DataContext="{Binding Source={StaticResource myData}}">
            
            <chartingToolkit:Chart.LegendStyle>
                <Style TargetType="Control">
                    <Setter Property="Width" Value="10" />
                    <Setter Property="Opacity" Value="0" />
                </Style>
            </chartingToolkit:Chart.LegendStyle>

            <chartingToolkit:ColumnSeries                
                DependentValuePath="Rate" 
                IndependentValuePath="Browser" 
                ItemsSource="{Binding Items}" >
            </chartingToolkit:ColumnSeries>

        </chartingToolkit:Chart>

    </Grid>
</Window>

C#のコードは以下の通りです。

using System.Collections.Generic;
using System.Windows;

namespace ChartSample2 {
    public partial class MainWindow : Window {
        public MainWindow() {
            InitializeComponent();
        }
    }

    public class MyData {
        public MyData() {
            Items = new List<MyItem> {
                new MyItem { Rate=56.6, Browser="IE" },
                new MyItem { Rate=18.3, Browser="Firefox" },
                new MyItem { Rate=17.8, Browser="Chrome" },
                new MyItem { Rate=5.4, Browser="Safari" },
                new MyItem { Rate=1.9, Browser="Other" },
            };
        }
        public List<MyItem> Items { get; set; }
    }

    public class MyItem {
        public double Rate { get; set; }
        public string Browser { get; set; }
    }


}



 

この記事へのトラックバックURL

http://trackback.blogsys.jp/livedoor/gushwell/52338469