HighChartsライブラリを使用して円グラフを作成していますが、これが私のグラフです。
// http://jsfiddle.net/t2MxW/20890/
var chart = new Highcharts.Chart({
colors: ['#0072BC', '#BFDAFF', '#DDDF00', '#24CBE5', '#64E572', '#FF9655', '#FFF263', '#6AF9C4'],
credits: { enabled: false },
chart: {
renderTo: 'container',
backgroundColor: 'rgba(255, 255, 255, 0.1)',
type: 'pie',
margin: [0, 0, 0, 0],
spacingTop: 0,
spacingBottom: 0,
spacingLeft: 0,
spacingRight: 0
},
title: { text: null },
plotOptions: {
pie: {
allowPointSelect: false,
size: '100%',
dataLabels: { enabled: false }
}
},
series: [{
showInLegend: false,
type: 'pie',
name: 'Pie Chart',
data: [
['Mobile', 65], // first half of pie
['Other', 35] // second half of pie
]
}]
});
しかし、問題は、マウスオーバーでツールチップを表示したくないことです...
ホバー時にツールチップを無効にすることは可能ですか?
次のように、tooltip
属性をfalse
に設定する必要があります。
tooltip: { enabled: false },
ケースの完全なコードは次のとおりです。
var chart = new Highcharts.Chart({
colors: ['#0072BC', '#BFDAFF', '#DDDF00', '#24CBE5', '#64E572', '#FF9655', '#FFF263', '#6AF9C4'],
credits: { enabled: false },
tooltip: { enabled: false },
chart: {
renderTo: 'container',
backgroundColor: 'rgba(255, 255, 255, 0.1)',
type: 'pie',
margin: [0, 0, 0, 0],
spacingTop: 0,
spacingBottom: 0,
spacingLeft: 0,
spacingRight: 0
},
title: { text: null },
plotOptions: {
pie: {
allowPointSelect: false,
size: '100%',
dataLabels: { enabled: false }
}
},
series: [{
showInLegend: false,
type: 'pie',
name: 'Pie Chart',
data: [
['Mobile', 65], // first half of pie
['Other', 35] // second half of pie
]
}]
});
ツールチップを無効にすると、ツールチップが無効になりますが、ホバー効果は引き続き存在します。ホバー効果を無効にするには、plotOptionsに次を追加します。
plotOptions: {
series: {
states: {
hover: {
enabled: false
}
}
}
},
または、ツールチップとホバー効果の両方で、一般的にすべてのマウストラッキングを無効にすることもできます。
(リンクのコピーと貼り付け) http://api.highcharts.com/highcharts#series 。enableMouseTracking
plotOptions: {
series: {
enableMouseTracking: false
}
}
質問のタイトルはホバリングを無効にすることです。そのため、他の誰かがその目的のためにここにいる場合、@ SergeyBの answer について詳しく説明します。
マウスのホバリングがシリーズのスタイルを変更する方法に影響するいくつかのオプションがあります。それらはそれぞれ、シリーズのタイプに応じて異なる効果があります。ここで線シリーズとパイシリーズについて説明しますが、通常、現在ホバーされているシリーズに適用されるスタイリングについてはplotOptions.<seriesType>.states.hover
、ホバーされていないシリーズに適用されるスタイリングについてはplotOptions.<seriesType>.states.inactive
(plotOptionsなど) pie.states.hover)。これらのオプションはいずれもツールチップのスタイルに影響しません。
plotOptions.series.states.inactive は、現在ホバーされていないすべてのシリーズに適用されるスタイルに影響します。背景にフェードするのを防ぐには、plotOptions.series.states.inactive.opacity
を1に設定します。
var chartOptions = {
// ...
plotOptions: {
series: {
states: {
inactive: {
opacity: 1,
},
},
},
},
}
plotOptions.series.states.hover は、ホバーされているシリーズに適用されるスタイルに影響します。たとえば、ラインシリーズの場合、デフォルトではライン幅を太くし、最も近い点にハローを適用します。
現在ホバーされているlineシリーズのスタイル設定を無効にするには、plotOptions.series.states.hover.enabled
をfalseに設定します。
var chartOptions = {
// ...
chart: {
type: "line",
},
plotOptions: {
series: {
states: {
hover: {
enabled: false,
},
},
},
},
}
残念ながら、これをpieシリーズに設定すると、ホバースライスが非アクティブスライスの残りの部分とともに背景にフェードインします(これを参照- jsFiddle 例)。非アクティブなスタイリングに影響を与えずにすべてのホバースタイリングを削除する場合、plotOptions.series.states.hover.halo.size
を0(ハローを削除)に設定し、plotOptions.pie.states.hover.brightness
を0(ブライトニング効果を削除)に設定できます。明るさは円シリーズに固有であるため、plotOptions。seriesではなくplotOptions。pieで文書化されていることに注意してください(ただし、 plotOptions.seriesの下に追加した場合でも)。
var chartOptions = {
// ...
chart: {
type: "pie",
},
plotOptions: {
series: {
states: {
hover: {
halo: {
size: 0,
},
// this worked for me even though it's not
// documented under plotOptions.series:
//brightness: 0,
},
},
},
pie: {
states: {
hover: {
brightness: 0,
},
},
},
},
}
折れ線または面シリーズを使用している場合、チャートにカーソルを合わせるとすぐに、シリーズに触れていない場合でも、最も近いシリーズはホバースタイリングを受け取り、残りは非アクティブなスタイリングを受け取ります。これは、 plotOptions.series.stickyTracking がラインシリーズとエリアシリーズに対してデフォルトでtrueであるためです。 plotOptions.series.stickyTracking
をfalseに設定すると、ホバーおよび非アクティブなスタイリングは、ライン上にホバーしているときにのみ適用されます。
var chartOptions = {
// ...
chart: {
type: "line",
},
plotOptions: {
series: {
stickyTracking: false,
},
},
}
@ninedozen noted のように、plotOptions.series.enableMouseTracking
をfalseに設定することにより、マウスの動きに基づいてすべてのレスポンシブな対話を完全に無効にすることができます。これは、ホバー/非アクティブなスタイリングに加えてツールチップも無効にすることに注意してください。
これらのオプションをチャート全体のすべてのシリーズに適用するには、plotOptions.series
の下に配置します。それらを特定のシリーズタイプのみに適用するには(またはオプションが特定のシリーズに固有の場合)、plotOptions.<seriesType>
の下に配置します。それらを特定のシリーズに適用するには、そのシリーズのオプション内に配置します。
var chartOptions = {
series: [
{
name: "series1",
type: "line",
data: [...],
// these options will only apply to series1, not series2 or series3
states: {...},
},
{
name: "series2",
type: "line"
data: [...],
},
{
name: "series3",
type: "pie"
data: [...],
}
],
plotOptions: {
// these options will apply to all series in the chart
series: {states: {...}},
// these options will only apply to series of type line
// i.e. series1 and series2
line: {states: {...}}
}
}
以下を使用するだけでそれらを有効にできます。
tooltip: {
enabled: false
},
オプションを設定するだけで無効にできます
tooltip:{
enabled: false
}
受け入れられた回答で指定されているように、設定する必要があります
tooltip: { enabled: false }
注-Highcharts.Options
オブジェクトのプロパティとして指定する必要があります(つまり、チャートオプションオブジェクト、not シリーズのプロパティ)。したがって、Highcharts.Chart
オブジェクトに渡すJSONで指定するか、明示的に作成するHighcharts.Options
オブジェクトのプロパティとして指定します 、それをあなたに渡す前にHighcharts.Chart
https://api.highcharts.com/highcharts/tooltip.enabled を参照してください
通常、CSSのスタイルを無効にするだけで、必要に応じてJSのホバーイベントにアクセスできます...
.highcharts-tooltip {
display: none;
}