bergestahl
bergestahl

Reputation: 15

Cannot apply font setting to google chart

I'm trying to change the font to Roboto on a Google chart (gantt chart) In the console I get the error: ReferenceError: Roboto is not defined

I followed instructions on the Google Fonts site, but I'm a beginner so probably missed something, I can't figure it out.

HTML:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<link href="https://fonts.googleapis.com/css?family=Roboto&display=swap" rel="stylesheet"> 
    <link rel="stylesheet" type="text/css" href="style.css">
  <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
  <script type="text/javascript">
    google.charts.load('current', {'packages':['gantt']});
    google.charts.setOnLoadCallback(drawChart);

    function daysToMilliseconds(days) {
      return days * 24 * 60 * 60 * 1000;
    }

    function drawChart() {

      var data = new google.visualization.DataTable();
      data.addColumn('string', 'Task ID');
      data.addColumn('string', 'Task Name');
      data.addColumn('date', 'Start Date');
      data.addColumn('date', 'End Date');
      data.addColumn('number', 'Duration');
      data.addColumn('number', 'Percent Complete');
      data.addColumn('string', 'Dependencies');

      data.addRows([
        ['Research', 'Find sources',
         new Date(2015, 0, 1), new Date(2015, 0, 5), null,  100,  null],
        ['Write', 'Write paper',
         null, new Date(2015, 0, 9), daysToMilliseconds(3), 25, 'Research,Outline'],
        ['Cite', 'Create bibliography',
         null, new Date(2015, 0, 7), daysToMilliseconds(1), 20, 'Research'],
        ['Complete', 'Hand in paper',
         null, new Date(2015, 0, 10), daysToMilliseconds(1), 0, 'Cite,Write'],
        ['Outline', 'Outline paper',
         null, new Date(2015, 0, 6), daysToMilliseconds(1), 100, 'Research']
      ]);

        var options = {
        height: 275,
        gantt: {
          labelStyle: {
            fontName: Roboto,
            fontSize: 14,
            color: '#757575'
          }
        }
      };

      var chart = new google.visualization.Gantt(document.getElementById('chart_div'));

      chart.draw(data, options);
    }
  </script>
</head>
<body>
  <div id="chart_div"></div>
</body>
</html>

CSS:

#chart_div {
font-family: 'Roboto', sans-serif;
}

When I run the site, the chart doesn't load. In the console I see the error: ReferenceError: Roboto is not defined

Upvotes: 0

Views: 372

Answers (1)

user5581422
user5581422

Reputation:

You see the error ReferenceError: Can't find variable: Roboto because you must to include the quotes on "fontName". In this case "Roboto" it's a string with the font name, not a variable.

So, you should use in your script:

labelStyle: {
  fontName: 'Roboto',
  fontSize: 14,
  color: '#757575'
}

Upvotes: 1

Related Questions