Plotly图表区域切断了文本

时间:2015-09-03 14:22:15

标签: charts plotly

我有以下情节代码:

            var element = document.getElementById(scope.changeid);

        function getData(division,redraw) {
            var employeeData = [];
            if (!division) {
                $http.get(api.getUrl('competenceUserAverageByMyDivisions', null)).success(function (response) {
                    processData(response,redraw);
                });
            }
            else {
                $http.get(api.getUrl('competenceUserAverageByDivision', division)).success(function (response) {
                    processData(response,redraw);
                })
            }

        }

        function processData(data,redraw) {
            var y = [],
                x1 = [],
                x2 = [];

            data.forEach(function (item) {
                y.push(item.user.profile.firstname);
                x1.push(item.current_level);
                x2.push(item.expected);
            });

            var charData = [{
                    x: y,
                    y: x1,
                    type: 'bar',

                    name: $filter('translate')('COMPETENCES.GRAPH.CURRENT'),
                    marker: {
                        color: '#23b7e5'
                    }
                }, {
                    x:y,
                    y:x2,
                    type: 'bar',
                    marker: {
                        color: '#f05050'
                    },
                    name: $filter('translate')('COMPETENCES.GRAPH.EXPECTED')
                }],
                layout = {
                    title: $filter('translate')('USERMANAGEMENT.USERS'),
                    barmode: 'stack',
                    legend: {
                        traceorder: 'reversed'

                    }
                };

            Plotly.newPlot(element,charData,layout);
        }

        scope.$watch('divisionId', function (newValue, oldValue) {
            if (newValue) {
                getData(newValue.id,true);
            }
        }, true);

        getData(null,false);

这将生成以下图表:

                            <div class="panel-body">
                            <h4 class="text-center">{{'COMPETENCES.GRAPH_TITLES.OVERVIEW_GAP' | translate}}</h4>
                            <vertical-bar-chart id="chartArea" goto="competence.titleCompetenceDetails"
                                                changeid="chartArea" xcolumn="xColumn" y-column="yColumn"
                                                dataset="dataSet"
                                                has-addition="true"
                                                style="width: 80%; text-align: center"></vertical-bar-chart>
                        </div>

enter image description here

您可能会告诉文本(x列)被无意中切断。所以我的问题是如何避免这种情况?我试图增加元素的高度,但没有任何运气:(

如您所见:

enter image description here

(哦,你不能告诉我,因为白色背景,但面板的高度是1000像素,但它仍然会切断它。)

2 个答案:

答案 0 :(得分:9)

尝试增加layout.margin.b中的底部边距(plotlyjs reference page中的更多信息。

答案 1 :(得分:1)

作为参考,我有同样的问题,margin bottom没有帮助,但是在创建图形之后,我运行了以下显示隐藏文本的JQuery:

var heightincrease = $('#yourID').find('.svg-container').height() + 100;
$('#yourID').find('.svg-container').height(heightincrease).find('.main-svg').height(heightincrease);

显然需要根据需要调整以显示整个图表。如果这是一个问题,可能会破坏调整大小,因此需要工作。