ASP.NET MVC コントロールヘルプ
マーカー
コントロールの使用 > FlexChart > FlexChartの使用 > マーカー

マーカーは、データ系列上にマウスホバーした際、データポイントの値を示す記号です。FlexChart にて、AddLineMarker メソッドを使用してラインマーカーを追加することができます。また、LineMarkersLines プロパティを以下の値のいずれかに設定できます:

次の図は、グラフ上にデータポイントを表示するため、内容付き縦ラインマーカーを示しています。

次のコード例では、FlexChart に内容付き縦ラインマーカを追加する方法を示します。この例では、「クイックスタート」セクションで作成したサンプルを使用します。

Razor
コードのコピー
@using MVCFlexChart_JP.Models;
@using C1.Web.Mvc.Chart;
@model IEnumerable<FruitSale>

<br/>
<br/>

@*マーカーの内容を追加します*@
<script type="text/javascript">
    function lineMarkerContent(hitInfo, pt) {
        var html = '', chart = hitInfo.series ? hitInfo.series.chart : undefined;
        if (!chart || !chart.series) {
            return html;
        }
        chart.series.forEach(function (s, i) {
            var ht = s.hitTest(new wijmo.Point(pt.x, NaN)), 
        hostEle = s.hostElement, polyline;

            polyline = s.hostElement ? s.hostElement
                 .getElementsByTagName("polyline")[0] : undefined;

            if (polyline && ht.x && ht.y !== null) {
                if (i == 0) {
                    html += wijmo.Globalize.formatDate(ht.x, '2015年/MM月/dd日');
                }
                html += '<div style="color:' + polyline.getAttribute('stroke') 
 + '">' + ht.name + ' = ' + ht.y.toFixed(2) + '</div>';
            }
        });
        return html;
    }
</script>

@*マーカーを追加します*@
<div style="width: 780px">
    @(Html.C1().FlexChart().Bind("Date", Model).ChartType(ChartType.Line).Series(sers =>
{
    sers.Add().Binding("SalesInUSA").Name("米国での売り上げ");
    sers.Add().Binding("SalesInJapan").Name("日本での売り上げ");
})
            .AxisX(x => x.Format("2015年/MM月/dd日")).Tooltip(tp => tp.Content(""))
    .AddLineMarker(lm => lm
    .Alignment(LineMarkerAlignment.Auto)
    .Lines(LineMarkerLines.Vertical)
    .Interaction(LineMarkerInteraction.Move).Content("lineMarkerContent")))
</div>