在小酒窝.js中对我的图表进行响应式大小调整不起作用

Responsive sizing of my chart in dimple.js is not working

本文关键字:响应 不起作用 调整 js 小酒窝 我的      更新时间:2023-09-26

我的页面上有一个svg组件,我在该组件上附加了我的酒窝图。我想根据需要调整图表的大小。

我在文件中提到了这个例子。

但当我在折线图中以类似的方式使用它时,它似乎不起作用。我的折线图代码如下:

                    var xpoints = chartData["xdata"];//Populated Dynamically
                    var ypoints = chartData["ydata"];//Populated Dynamically

                    var dataset = [];
                    var line1;
                    for (var i = 0; i < xpoints.length; i++) {
                            dataset.push({
                                x : xpoints[i],
                                y1 : parseFloat(ypoints[i])
                            });
                        }
                    var svg = dimple.newSvg("#" + mychart, "100%", "100%");
                    var x, y;
                    var myChart = new dimple.chart(svg, dataset);
                    myChart.setMargins("60px", "30px", "110px", "70px");
                    y = myChart.addMeasureAxis("y", "y1");
                    x = myChart.addCategoryAxis("x", "x");
                    line1 = myChart.addSeries("First", dimple.plot.line, [ x, y ]);
                    line1.lineMarkers = true;
                    var l = myChart.addLegend(65, 10, 510, 20, "right");
                    myChart.draw(1500);
                      window.onresize = function () {
                            myChart.draw(0, true);
                          };

是不是我不能在同一个窗口中执行此操作,并且绝对有必要创建一个新窗口,如示例中所示?

控制台没有显示任何错误,图表呈现正确。只是调整大小功能不起作用!

好吧,我发现了我的错误!

事实证明,没有必要创建一个新窗口。

只是,我已经明确定义了div(#mychart(的高度和宽度,我将svg附加到div上,这些维度以像素为单位。因此,svg的大小即使在窗口调整大小时也保持不变-,因为它总是100%的恒定像素值。因此,该函数实际上也更早启动,但最终具有相同的维度。

我将div的维度更改为百分比值,一切都很好:D