図の表示に Chartjs を使用しており、y軸のタイトルを設定する必要がありますが、ドキュメントにはそれに関する情報がありません。
写真のように、またはy軸の上にy軸を設定する必要があります
私は公式ウェブサイトを見ましたが、それに関する情報はありませんでした
Chart.js 2.xについては、andyhasitの答えを参照してください- https://stackoverflow.com/a/36954319/360067
Chart.js 1.xの場合、オプションを微調整し、グラフタイプを拡張してこれを行うことができます。
Chart.types.Line.extend({
name: "LineAlt",
draw: function () {
Chart.types.Line.prototype.draw.apply(this, arguments);
var ctx = this.chart.ctx;
ctx.save();
// text alignment and color
ctx.textAlign = "center";
ctx.textBaseline = "bottom";
ctx.fillStyle = this.options.scaleFontColor;
// position
var x = this.scale.xScalePaddingLeft * 0.4;
var y = this.chart.height / 2;
// change Origin
ctx.translate(x, y);
// rotate text
ctx.rotate(-90 * Math.PI / 180);
ctx.fillText(this.datasets[0].label, 0, 0);
ctx.restore();
}
});
このように呼ぶ
var ctx = document.getElementById("myChart").getContext("2d");
var myLineChart = new Chart(ctx).LineAlt(data, {
// make enough space on the right side of the graph
scaleLabel: " <%=value%>"
});
ラベル値の前のスペースに注意してください。これにより、Chart.jsの内部の多くをいじることなく、y軸ラベルを書き込むスペースが与えられます。
フィドル- http://jsfiddle.net/wyox23ga/
Chart.jsバージョン2.0では、これが可能です。
options = {
scales: {
yAxes: [{
scaleLabel: {
display: true,
labelString: 'probability'
}
}]
}
}
詳細については、 軸ラベル付けドキュメント を参照してください。
X軸とy軸の場合:
options : {
scales: {
yAxes: [{
scaleLabel: {
display: true,
labelString: 'probability'
}
}],
xAxes: [{
scaleLabel: {
display: true,
labelString: 'hola'
}
}],
}
}
chart.jsはデフォルトでこれをサポートし、リンクを確認します。 chartjs
options属性でラベルを設定できます。
optionsオブジェクトは次のようになります。
options = {
scales: {
yAxes: [
{
id: 'y-axis-1',
display: true,
position: 'left',
ticks: {
callback: function(value, index, values) {
return value + "%";
}
},
scaleLabel:{
display: true,
labelString: 'Average Personal Income',
fontColor: "#546372"
}
}
]
}
};
私にとっては、このように動作します:
options : {
scales: {
yAxes: [{
scaleLabel: {
display: true,
labelString: 'probability'
}
}]
}
}
要素でtransform:rotate(-90deg)スタイルを使用することを検討してください。 http://www.w3schools.com/cssref/css3_pr_transform.asp を参照してください
例、CSSで
.verticaltext_content {
position: relative;
transform: rotate(-90deg);
right:90px; //These three positions need adjusting
bottom:150px; //based on your actual chart size
width:200px;
}
Y軸のスケールにスペースファッジファクターを追加して、テキストをJavaScriptでレンダリングする余地を確保します。
scaleLabel: " <%=value%>"
次に、チャートキャンバスの後にあなたのhtmlに次のようなものを入れてください...
<div class="text-center verticaltext_content">Y Axis Label</div>
これは最もエレガントなソリューションではありませんが、htmlとチャートコードの間にいくつかのレイヤーがあるときにうまく機能しました(角度チャートを使用し、ソースコードを変更したくない)。