如何在dimple.js中旋转x轴文本?

Ann*_*cka 4 javascript d3.js dimple.js

这是我的酒窝条形图(由d3提供):

var sidechart = new dimple.chart(chart_svg, data);
            sidechart.setBounds(60, 30, 200, 300)
            var x = sidechart.addCategoryAxis("x", "Long name");
            sidechart.addMeasureAxis("y", "Measure");
            sidechart.addSeries(["Short name", "Long name"], dimple.plot.bar);
            sidechart.draw();
Run Code Online (Sandbox Code Playgroud)

x轴上的文字非常长,默认情况下,凹坑旋转它,使其垂直显示.我想将它旋转45度而不是.使用d3,这将通过这样做:

myAxis.attr("transform", "rotate(-45)");
Run Code Online (Sandbox Code Playgroud)

不幸的是,我无法在酒窝中找到类似的方法.任何帮助将不胜感激.

Joh*_*der 11

一旦调用了draw方法并设置了变换,就可以掌握形状:

...
sidechart.draw();
x.shapes.selectAll("text").attr("transform", "rotate(-45)");
Run Code Online (Sandbox Code Playgroud)

然而,凹坑已经使用变换在刻度线之间移动标签并进行旋转,因此您可能希望像这样追加变换:

...
sidechart.draw();
x.shapes.selectAll("text").attr("transform",
    function (d) {
      return d3.select(this).attr("transform") + " rotate(-45)";
    });
Run Code Online (Sandbox Code Playgroud)

我试过这个并且它偏离了我期望的标签,所以你可能需要添加一个翻译,但是你可能需要为你自己的图表找到一个合适的偏移量,我在这里用20作为例子:

...
sidechart.draw();
x.shapes.selectAll("text").attr("transform",
    function (d) {
      return d3.select(this).attr("transform") + " translate(0, 20) rotate(-45)";
    });
Run Code Online (Sandbox Code Playgroud)