2017-01-13 5 views
2

これは、(D3によって供給)私のディンプル折れ線グラフである: が、X軸がX軸、テキストと重なるように、完全なX軸のタイトルを表示しないようにする方法enter image description heredimple.jsに完全なxAxisタイトルを表示するには?

画像のようにX軸タイトル と重複ltitle?

それから私は、PHPファイルにこのコードを持っている:

var svg = dimple.newSvg("#chartContainer", 600, 400), 
data = [ 
    { "Value" : 4, "timestamp" : 09:33:00}, 
    { "Value" : 10, "timestamp" : 09:33:05}, 
    { "Value" : 2, "timestamp" : 09:33:50}, 
    { "Value" : 1, "timestamp" : 09:34:00}, 
    { "Value" : 5, "timestamp" : 09:34:20}, 
    { "Value" : 6, "timestamp" : 09:35:00} 
]; 


// Draw a standard chart using the aggregated data 

var chart = new dimple.chart(svg, data); 
chart.setBounds(60, 30, 700, 300); 
var x = chart.addCategoryAxis("x", "timestamp"); 
x.title = "per 5 seconds"; 
x.addOrderRule("Year"); 
var y = chart.addCategoryAxis("y", "Value"); 
var s = chart.addSeries(["Volume", "timestamp"], dimple.plot.bubble); 

// Add a thick line with markers 
    var lines = chart.addSeries(null, dimple.plot.line); 
    lines.lineWeight = 5; 
    lines.lineMarkers = true; 
    chart.draw(); 
    x.shapes.selectAll("text").attr("transform", 
function (d) { 
    return d3.select(this).attr("transform") + " rotate(45)"; 
}); 

誰がこれで私を助けてもらえますか?それは私が試みている方法でそれをすることは可能ですか? あなたには、いくつかに私を指すことができればそれは素晴らしいことだが例やチュートリアル

1を働いた:

+0

なぜ私はJSONオブジェクトに入れて、それを投稿するためにajaxを使用しないのですか? – Bindrid

答えて

1

カスタム座標を設定するために、あなたのrotate(45)を変更する必要があります。ありがたいことに、これはあなたの必要に応じて0,0を設定するrotate(45,0,0)を使うことによって非常に簡単です。特に、2番目のパラメータは、ラベルを上下に移動させます。

ここでそれを試してみるための作業ペンです。ただ、何が起こるかを見るためにrotate(45,-10,0)またはrotate(45,10,0)を使用しよう:

http://codepen.io/anon/pen/JEbKRN?editors=1111

(私は物事を動作させるために、アレイ内のあなたの日付に ""を追加すること自由に感じました)、ここでディンプルの例がありますあなたはおそらく検索しました: http://dimplejs.org/examples_index.html

免責事項:前にディンプルを使用したことはありません。ちょうどd3。より良い「ディンプル」の方法があるかもしれませんが、あなたはD3を介してラベルの回転を変更していますが、これはここであなたにとって最良の方法かもしれません。

編集

あなたは、グラフを描画した後、以下の機能を経由してタイトルラベルのx軸とy位置への直接アクセスを取得することができます:

x.titleShape.attr("y", 
    function (d) { 
     return "420"; //you may want to calculate this dynamically. 
    }); 

codepenのためにダウンしそうです今、ここで働くバイブルです: http://jsfiddle.net/kue2arnh/3/

+1

あなたのcodepenから、xAxisタイトル "5秒ごとに" xAxisテキスト、xAxisテキストの一番下にタイトルを移動する方法をオーバーラップしますか? – georgetovrea

+0

しかし、データセットに2つのレコードしかない場合は、x位置にはまだ完全なx値が表示されます(例:http://jsfiddle.net/andrewarnier/m9x6m3pa/1/)。 – georgetovrea

関連する問題