Chart.jsに表示されるx軸のラベル/テキストを非表示にするにはどうすればよいですか?
scaleShowLabels:false
を設定すると、y軸ラベルのみが削除されます。
<script>
var options = {
scaleFontColor: "#fa0",
datasetStrokeWidth: 1,
scaleShowLabels : false,
animation : false,
bezierCurve : true,
scaleStartValue: 0,
};
var lineChartData = {
labels : ["1","2","3","4","5","6","7"],
datasets : [
{
fillColor : "rgba(151,187,205,0.5)",
strokeColor : "rgba(151,187,205,1)",
pointColor : "rgba(151,187,205,1)",
pointStrokeColor : "#fff",
data : [1,3,0,0,6,2,10]
}
]
}
var myLine = new Chart(document.getElementById("canvas").getContext("2d")).Line(lineChartData,options);
</script>
var chart = new Chart(ctx, {
...
options:{
scales:{
xAxes: [{
display: false //this will remove all the x-axis grid lines
}]
}
}
});
var chart = new Chart(ctx, {
...
options: {
scales: {
xAxes: [{
ticks: {
display: false //this will remove only the label
}
}]
}
}
});
以下の参照用の古い回答(現在のバージョンが1.0ベータのときに書かれた):
chart.js
にラベルを表示しないようにするには、scaleShowLabels : false
を設定し、labels
を渡さないようにする必要があります。
<script>
var options = {
...
scaleShowLabels : false
};
var lineChartData = {
//COMMENT THIS LINE TO AVOID DISPLAYING THE LABELS
//labels : ["1","2","3","4","5","6","7"],
...
}
...
</script>
(この質問は chart.jsで、モバイルからアクセスする場合、棒グラフのx軸ラベル/テキストを非表示にすることは可能ですか? )のオプション、2.1.4(および少し前)
var myLineChart = new Chart(ctx, {
type: 'line',
data: data,
options: {
scales: {
xAxes: [{
ticks: {
display: false
}
}]
}
}
}
var lineChartData = {
labels: ["", "", "", "", "", "", ""] // To hide horizontal labels
,datasets : [
{
label: "My First dataset",
fillColor : "rgba(220,220,220,0.2)",
strokeColor : "rgba(220,220,220,1)",
pointColor : "rgba(220,220,220,1)",
pointStrokeColor : "#fff",
pointHighlightFill : "#fff",
pointHighlightStroke : "rgba(220,220,220,1)",
data: [28, 48, 40, 19, 86, 27, 90]
}
]
}
window.onload = function(){
var options = {
scaleShowLabels : false // to hide vertical lables
};
var ctx = document.getElementById("canvas1").getContext("2d");
window.myLine = new Chart(ctx).Line(lineChartData, options);
}
Chartjsでラベルを削除するというこの問題に直面しました。ドキュメントが改善されたようです。 http://www.chartjs.org/docs/#getting-started-global-chart-configuration
Chart.defaults.global.legend.display = false;
このグローバル設定により、すべてのチャートに凡例が表示されなくなります。これで十分だったので使用しました。個々のチャートの凡例を避ける方法がわかりません。
Christuttyの答えに触発され、ここにソースを変更するソリューションがありますが、完全にはテストされていません。まだ何の問題もありません。
デフォルトセクションで、行71の周りに次の行を追加します。
// Boolean - Omit x-axis labels
omitXLabels: true,
次に、行2215付近で、これをbuildScaleメソッドに追加します。
//if omitting x labels, replace labels with empty strings
if(Chart.defaults.global.omitXLabels){
var newLabels=[];
for(var i=0;i<labels.length;i++){
newLabels.Push('');
}
labels=newLabels;
}
これにより、ツールヒントも保持されます。
ツールチップのためにラベルを保持したいが、バーの下に表示されないようにしたい場合、次のハックが役に立つかもしれません。私はプライベートイントラネットアプリケーションで使用するためにこの変更を行い、効率や副作用についてはテストしていませんが、必要なことは行いました。
Chart.jsの約71行目に、バーラベルを非表示にするプロパティを追加します。
// Boolean - Whether to show x-axis labels
barShowLabels: true,
1500行目で、このプロパティを使用してthis.endPointの変更を抑制します(この行以外を無効にすると、グラフのチャンクが消えたり、誤ってレンダリングされたため、計算コードの他の部分が必要になります)。
if (this.xLabelRotation > 0) {
if (this.ctx.barShowLabels) {
this.endPoint -= Math.sin(toRadians(this.xLabelRotation)) * originalLabelWidth + 3;
} else {
// don't change this.endPoint
}
}
約1644行目で、プロパティを使用してラベルのレンダリングを抑制します。
if (ctx.barShowLabels) {
ctx.fillText(label, 0, 0);
}
Chart.jsソースにこの変更を加えたいのですが、gitにはそれほど慣れておらず、厳密にテストする時間がないので、何も壊さないようにします。