def _generate_graph(self, name, title, stats_data, y_name):
logger.debug('<STR_LIT>', name)<EOL>orig_data, labels = self._data_dict_to_bokeh_chart_data(stats_data)<EOL>data = self._limit_data(orig_data)<EOL>logger.debug('<STR_LIT>', name)<EOL>script, div = FancyAreaGraph(<EOL>name, '<STR_LIT>' % (self.project_name, title), data, labels,<EOL>y_name).generate_graph()<EOL>logger.debug('<STR_LIT>', name)<EOL>self._graphs[name] = {<EOL>'<STR_LIT:title>': title,<EOL>'<STR_LIT>': script,<EOL>'<STR_LIT>': div,<EOL>'<STR_LIT>': stats_data<EOL>}<EOL>
Generate a downloads graph; append it to ``self._graphs``.

:param name: HTML name of the graph, also used in ``self.GRAPH_KEYS``
:type name: str
:param title: human-readable title for the graph
:type title: str
:param stats_data: data dict from ``self._stats``
:type stats_data: dict
:param y_name: Y axis metric name
:type y_name: str