Удалить отступы или поля из Google Charts - PullRequest
141 голосов
/ 12 марта 2012

// Load the Visualization API and the piechart package.
google.load('visualization', '1.0', {'packages':['corechart']});

// Set a callback to run when the Google Visualization API is loaded.
google.setOnLoadCallback(drawChart);

// Callback that creates and populates a data table,
// instantiates the pie chart, passes in the data and
// draws it.
function drawChart() {

  // Create the data table.
  var data = new google.visualization.DataTable();
  data.addColumn('string', 'Topping');
  data.addColumn('number', 'Slices');

  var myData = {
    'Mushrooms': 3,
    'Onions': 1,
    'Olives': 1,
    'Zucchini': 1,
    'Pepperoni': 2
  };

  var rows = [];
  for (element in myData) {
      rows.push([element + " (" + myData[element] + ")", myData[element]])
  }
  data.addRows(rows);

  // Set chart options
  var options = {'title':'How Much Pizza I Ate Last Night',
                 'width':450,
                 'height':300};

  // Instantiate and draw our chart, passing in some options.
  var chart = new google.visualization.PieChart(document.getElementById('chart_div'));
  chart.draw(data, options);
}
<script type="text/javascript" src="https://www.google.com/jsapi"></script>

<div id="chart_div"></div>

Пример скрипки

Как мне удалить отступы или поля в этом примере?

Ответы [ 5 ]

229 голосов
/ 12 марта 2012

Добавляя и настраивая некоторые параметры конфигурации, перечисленные в документации API , вы можете создавать множество различных стилей. Например, - это версия , которая удаляет большую часть лишних пробелов, устанавливая chartArea.width на 100% и chartArea.height на 80% и перемещение legend.position в низ :

// Set chart options
var options = {'title': 'How Much Pizza I Ate Last Night',
               'width': 350,
               'height': 400,
               'chartArea': {'width': '100%', 'height': '80%'},
               'legend': {'position': 'bottom'}
    };

Если вы хотите больше настроить его, попробуйте изменить эти значения или использовать другие свойства по ссылке выше.

73 голосов
/ 18 ноября 2012

Я опоздал, но любой пользователь, который ищет это, может получить помощь.Внутри опций вы можете передать новый параметр с именем chartArea .

        var options = {
        chartArea:{left:10,top:20,width:"100%",height:"100%"}
    };

Параметры left и top будут определять количество отступов слева и сверху.Надеюсь, это поможет.

52 голосов
/ 28 мая 2015

Я прибыл сюда, как и большинство людей с этой же проблемой, и был шокирован, что ни один из ответов, даже удаленно не сработал.

Для всех, кто заинтересован, вот реальное решение:

... //rest of options
width: '100%',
height: '350',
chartArea:{
    left:5,
    top: 20,
    width: '100%',
    height: '350',
}
... //rest of options

Ключ здесь не имеет ничего отношения к значениям "left" или "top".Но вместо этого:

Размеры диаграммы и области диаграммы УСТАНОВЛЕНЫ и установлены на ТОТ ЖЕ ЗНАЧЕНИЕ

Как поправка к моему ответу.Вышесказанное действительно решит проблему «чрезмерного» заполнения / отступа / пробела.Однако, если вы хотите включить метки осей и / или легенду , вам нужно уменьшить высоту и ширину области диаграммы, чтобы она была немного ниже внешней ширины / высоты.Это «скажет» API диаграммы, что для отображения этих свойств достаточно места.Иначе это с радостью исключит их.

13 голосов
/ 15 марта 2013

Существует такая возможность , как упоминал Аман Вирк :

var options = {
    chartArea:{left:10,top:20,width:"100%",height:"100%"}
};

Но имейте в виду, что отступы и поля не должны вас беспокоить. Если у вас есть возможность переключаться между различными типами диаграмм, такими как ColumnChart, и диаграммой с вертикальными столбцами, вам понадобится некоторое поле для отображения меток этих линий.

Если вы уберете это поле, то в итоге вы увидите только часть ярлыков или вообще никаких ярлыков.

Так что, если у вас есть только один тип диаграммы, вы можете изменить поля и отступы, как сказал Арман. Но если это возможно, не меняйте их.

12 голосов
/ 20 ноября 2015

В документах его нет (я использую версию 43), но вы можете использовать свойство right и bottom области диаграммы:

var options = {
  chartArea:{
    left:10,
    right:10, // !!! works !!!
    bottom:20,  // !!! works !!!
    top:20,
    width:"100%",
    height:"100%"
  }
};

Таким образом, можно использовать полную чувствительную ширину и высоту и предотвратить обрезание любых меток осей или легенд.

...