Sage和Google图表中的宽高比

时间:2014-02-12 02:11:33

标签: javascript charts

我在Sage做了图表,在那里我可以选择宽高比:

纵横比描述单位正方形的明显高/宽比。如果希望垂直单位与水平单位一样大,请指定纵横比为1。

show(circle((1,1), 1) + plot(x^2, (x,0,5)), aspect_ratio=1)

现在我正在使用谷歌应用引擎和谷歌图表。我无法弄清楚如何在那里设置纵横比。例如,shape1和shape 2都是[-1; 1] X和[-1; 1] Y.但是在屏幕上它看起来像矩形因为我设置了“width:600,height:400”。

function drawVisualization() {
// Create and populate the data table.
var data = new google.visualization.DataTable();
data.addColumn('number', 'X');
data.addColumn('number', 'Shape 1');
data.addColumn('number', 'Shape 2');
for (var i = 0; i < 500; ++i) {
  data.addRow([Math.sin(i / 5) * 0.25, Math.cos(i / 25), null])
}
for (var i = 0; i < 500; i++) {
  data.addRow([Math.sin(i / 25), null, Math.cos(i / 10) * 0.5]);
}

// Create and draw the visualization.
var chart = new google.visualization.ScatterChart(
    document.getElementById('visualization'));
chart.draw(data, {title: 'Cool shapes',
                  width: 600, height: 400,
                  vAxis: {title: "Y", titleTextStyle: {color: "green"}},
                  hAxis: {title: "X", titleTextStyle: {color: "green"}}}
          );
}

1 个答案:

答案 0 :(得分:0)

对我有用的解决方案是指定widthheight相等,然后明确指定hAxis.minValuehAxis.maxValuevAxis.minValue,{ {1}}。我计算数据的xspan和yspan,选择两者中的最大值,然后相应地计算hAxis和vAxis最小值/最大值。