2011-11-23 7 views
5

Próbuję utworzyć stałą etykietkę dla określonego punktu, co mam na myśli mówiąc: trwałe :: mam na myśli to, że zawsze będzie pokazywane, nie tylko kiedy unosił się, ale przez cały czas. im również otwarte na etykiecie jest tam pokazany, ale potrzebuję go do powiązania z tym dokładnym punktem, a nie pozycji przez względne pozycjonowanie css X-Y do obiektu wykresu, ponieważ szerokość wykresu jest dynamiczna.Tworzenie lepkiej podpowiedzi dla punktu lub etykiety trwałej za pomocą HighCharts

przykłady: Seria [{nazwa: 'Anger'

danych: [{r: 9 x: Date.UTC (2011, 10, 5), nazwa: 'USD EUR' marker: {symbol: 'url (sun.png)', etykieta: '123', sticky-tooltip: true}}]

oczywiście to przynosi efekty, ale mam nadzieję, że rozumiesz, co próbuję osiągnąć.

dzięki za pomoc.

dla tych wholike aby zobaczyć pełny plik:

 var chart; 

     $(document).ready(function() { 

      chart = new Highcharts.Chart({ 

       chart: { 

        renderTo: 'container', 

        defaultSeriesType: 'spline', 

       }, 

       title: { 

        text: 'Emotions graph', 

        style: { 

         position: 'relative', 

        }, 

        x: 20, //center, 

        y: 8 , 

       }, 

       subtitle: { 

        text: ' ', 

        x: -20 

       }, 

       xAxis: { 

        type: 'datetime', 

        dateTimeLabelFormats: { day: '%e. %b' }, 

        tickInterval:24 * 3600 * 1000 * 7, 

        showLastLabel : true, 

        maxPadding:0, 

        minPadding:0 

       }, 

       yAxis: { 

        max :10, 

        title: { text: 'Emotion level' }, 

       }, 

       tooltip: { 

        enabled:true,      

        formatter: function() { 

         var month=new Array(12); 

         month[0]="January"; 

         month[1]="February"; 

         month[2]="March"; 

         month[3]="April"; 

         month[4]="May"; 

         month[5]="June"; 

         month[6]="July"; 

         month[7]="August"; 

         month[8]="September"; 

         month[9]="October"; 

         month[10]="November"; 

         month[11]="December"; 

         var temptime = new Date(this.x); 



         if (this.point.name != null) { thename = this.point.name + '<br/>'; } else { thename ='' };      

         return thename + '<b>'+ this.series.name +'</b><br/>Level of: '+ 

         this.y + '<br/>Date: ' + temptime.getDate() + ' of ' + month[temptime.getMonth() ] ; 

        } 

       }, 

       legend: { 

        style: { padding: 30 }, 

        align: 'center', 

        verticalAlign: 'top', 

        y: 15, 

        floating: true, 

        borderWidth: 0 

       }, 

       credits: { enabled: false }, 

       series: [{ 

        name: 'Excitment', 

        lineWidth: 2 , 

        data: [ 

         [Date.UTC(2011, 9, 27), 7], 

         [Date.UTC(2011, 9, 20), 6], 

         [Date.UTC(2011, 9, 21), 7], 

         [Date.UTC(2011, 10, 2), 8], 

         [Date.UTC(2011, 10, 9), 6], 

         [Date.UTC(2011, 10, 16), 6], 

         [Date.UTC(2011, 10, 14), 7], 

         [Date.UTC(2011, 10, 1), 1], 

         [Date.UTC(2011, 9, 24), 2], 

         [Date.UTC(2011, 10, 4), 9], 

         [Date.UTC(2011, 10, 11), 7], 

         [Date.UTC(2011, 10, 15), 7], 

         [Date.UTC(2011, 9, 25), 6], 

         [Date.UTC(2011, 10, 2), 7], 

         [Date.UTC(2011, 10, 6), 2], 

         [Date.UTC(2011, 10, 13), 8], 

         [Date.UTC(2011, 10, 3), 1], 

         [Date.UTC(2011, 9, 26), 1], 

         [Date.UTC(2011, 10, 9), 5], 

         [Date.UTC(2011, 10, 12), 6] 

        ] 

        },{ 

        name: 'Tranquility', 

        lineWidth: 2, 

        data: [ 

         [Date.UTC(2011, 10, 18), 2], 

         [Date.UTC(2011, 9, 26), 2], 

         [Date.UTC(2011, 10, 1), 4], 

         [Date.UTC(2011, 10, 11), 5], 

         [Date.UTC(2011, 9, 21), 5], 

         [Date.UTC(2011, 10, 12), 9], 

         [Date.UTC(2011, 9, 25), 5], 

         [Date.UTC(2011, 10, 4), 4], 

         [Date.UTC(2011, 10, 9), 1], 

         [Date.UTC(2011, 10, 13), 5], 

         [Date.UTC(2011, 10, 19), 6], 

         [Date.UTC(2011, 9, 25), 6], 

         [Date.UTC(2011, 9, 31), 3], 

         [Date.UTC(2011, 10, 7), 3] 

        ] 

        }, { 

        name: 'Happiness', 

        lineWidth: 2 , 

        data: [ 

         [Date.UTC(2011, 10, 9), 5], 

         [Date.UTC(2011, 9, 20), 5], 

         [Date.UTC(2011, 9, 28), 5], 

         [Date.UTC(2011, 10, 12), 6], 

         [Date.UTC(2011, 10, 1), 5], 

         [Date.UTC(2011, 9, 24), 5], 

         [Date.UTC(2011, 9, 29), 7], 

         [Date.UTC(2011, 10, 18), 4], 

         [Date.UTC(2011, 9, 24), 9], 

         [Date.UTC(2011, 9, 22), 3], 

         [Date.UTC(2011, 9, 21), 3] 

        ] 

        },{ 

        name: 'Anger', 

        lineWidth: 2, 

        data: [ 

         [Date.UTC(2011, 9, 28), 4], 

         [Date.UTC(2011, 9, 26), 2], 

         [Date.UTC(2011, 10, 1), 4], 

         [Date.UTC(2011, 10, 11), 5], 

         [Date.UTC(2011, 9, 25), 8], 

         [Date.UTC(2011, 9, 27), 3], 

         [Date.UTC(2011, 9, 30), 8], 

         [Date.UTC(2011, 9, 29), 3], 

         { y: 9, x: Date.UTC(2011, 10, 5), name: 'USD to EUR', marker: { symbol: 'url(sun.png)', label: '123' } }, 

         [Date.UTC(2011, 9, 27), 4], 

         [Date.UTC(2011, 10, 18), 5], 

         [Date.UTC(2011, 10, 13), 7], 

         [Date.UTC(2011, 10, 19), 6], 

         [Date.UTC(2011, 9, 25), 6], 

         [Date.UTC(2011, 10, 12), 3], 

         [Date.UTC(2011, 9, 26), 4] 

        ] 

        },{ 

        name: 'Average', 

        lineWidth: 2, 

        data: [ 

         { y: 9, x: Date.UTC(2011, 9, 31), marker: { symbol: 'url(snow.png)' } }, 

         [Date.UTC(2011, 9, 20), 4], 

         [Date.UTC(2011, 9, 22), 2], 

         [Date.UTC(2011, 10, 20), 4], 

         [Date.UTC(2011, 10, 16), 5], 

         [Date.UTC(2011, 9, 29), 8], 

         [Date.UTC(2011, 9, 28), 3], 

         [Date.UTC(2011, 9, 29), 9], 

         [Date.UTC(2011, 10, 08), 7], 

         [Date.UTC(2011, 10, 17), 6], 

         [Date.UTC(2011, 9, 23), 6], 

         [Date.UTC(2011, 10, 12), 3], 

         [Date.UTC(2011, 9, 27), 4] 

        ] 

        } 

       ] 



      }); 





     }); 

Odpowiedz

5

Jest to możliwe przy użyciu HighCharts chart.renderer() fabularnych.

Spróbuj JSFiddle a to JSFiddle z odniesieniem HighCharts API. Oba pokazują, jak używać renderera do pisania tekstu lub pola tekstowego na wykresie i zakotwiczenia go do punktu.

+0

Świetne, dziękuję! – Edan

+0

@Dr. Fajnie, Hej, możesz zajrzeć do mojego podobnego problemu, proszę. http://stackoverflow.com/questions/24513784/create-a-sticky-tooltip-in-highcharts-ng-implemented-in-jquery-highcharts –

Powiązane problemy