Complete Solution for Hiding Series Names in HighCharts Legend

Dec 06, 2025 · Programming · 9 views · 7.8

Keywords: HighCharts | Legend Control | Data Visualization

Abstract: This article provides an in-depth exploration of various methods to hide series names in HighCharts legends, with a focus on the showInLegend property's usage scenarios and configuration techniques. Through detailed code examples and comparative analysis, it demonstrates how to effectively control legend display, avoid unnecessary visual clutter, and maintain full chart functionality. The discussion also covers version compatibility considerations and best practices.

Core Mechanisms of HighCharts Legend Display Control

In data visualization projects, the legend is a crucial component that helps users understand the data series in a chart. However, in certain specific scenarios, developers may need to hide certain series from the legend to simplify the interface or highlight important information. HighCharts provides flexible and powerful configuration options to meet this requirement.

How the showInLegend Property Works

The showInLegend property in HighCharts' series configuration object is the core parameter controlling whether a series appears in the legend. When this property is set to false, the corresponding data series is completely removed from the legend, including its name and associated visual markers.

Here is a complete configuration example:

series: [{
    showInLegend: false,
    name: "<b>Important Data Series</b>",
    data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0],
    color: '#FF0000'
}]

In this example, although the series is assigned a name and specific color, it will not appear in the legend due to the showInLegend: false setting. The advantages of this approach include:

Comparative Analysis with the labelFormatter Method

The labelFormatter method mentioned in the original question can modify the display text of legend labels but cannot completely remove series entries from the legend. When returning an empty string, the series' visual markers (such as lines or points) are still retained, resulting in unwanted "dashes" or placeholders.

Below is a comparison of the two methods:

// Method 1: Using labelFormatter (cannot fully hide)
legend: {
    labelFormatter: function() {
        if(this.name === 'Series 1') {
            return ''; // Visual markers will still appear
        }
        return this.name;
    }
}

// Method 2: Using showInLegend (recommended)
series: [{
    name: 'Series 1',
    showInLegend: false, // Completely removed from legend
    data: [/* data array */]
}, {
    name: 'Series 2',
    showInLegend: true,
    data: [/* data array */]
}]

Advanced Configuration Techniques

Beyond the basic showInLegend setting, HighCharts offers additional related configuration options:

// Complete advanced configuration example
var chartOptions = {
    chart: {
        type: 'line'
    },
    legend: {
        enabled: true,
        layout: 'vertical',
        align: 'right',
        verticalAlign: 'middle',
        borderWidth: 1
    },
    series: [{
        name: 'Hidden Series',
        showInLegend: false,
        data: [1, 3, 2, 4, 3, 5],
        // Other properties can still be configured even if not shown in legend
        lineWidth: 2,
        marker: {
            enabled: true
        }
    }, {
        name: 'Visible Series',
        showInLegend: true,
        data: [5, 4, 3, 2, 1, 0],
        color: '#4572A7'
    }]
};

// Initialize the chart
Highcharts.chart('container', chartOptions);

Version Compatibility Considerations

Although the original question mentions using Highcharts version 2.0.5, the showInLegend property is well-supported across multiple HighCharts versions. From early versions to the current latest releases, this property's behavior remains largely consistent. However, developers are advised to:

Practical Application Scenarios

The need to hide series names in legends typically arises in the following scenarios:

  1. Baseline or Reference Lines: Some series serve only as visual references and do not require explanation in the legend
  2. Temporary Data Series: Used for calculations or intermediate processes, not intended for end-user display
  3. Simplifying Complex Charts: When a chart contains too many series, selectively hiding minor ones
  4. Custom Legend Layouts: Achieving special legend display effects in combination with other configurations

By appropriately using the showInLegend property, developers can create clearer, more professional data visualization interfaces while maintaining code simplicity and maintainability.

Copyright Notice: All rights in this article are reserved by the operators of DevGex. Reasonable sharing and citation are welcome; any reproduction, excerpting, or re-publication without prior permission is prohibited.