Экспорт диаграммы в виде изображения с использованием ленивого камня

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

@fields= ReportHistory.all_history
@h = LazyHighCharts::HighChart.new('graph') do |f|
f.chart(:renderTo => 'container', :zoomType => 'x',:spacingRight=> 20)
    f.title(:text => 'Reports')
    f.xAxis(:title=>{:text => 'Days'}, :categories =>@fields.map{|x|x.Date}.last(limit=15))
    f.yAxis(:title=>{:text=> 'Jobs_count', :type =>'integer' ,:max => 5000000})
    f.series(:name =>'jobs_count', :data=> @fields.map{|x| x.jobs_count.to_i }.last(limit=15))
    f.export(:type=> 'image/jpeg')
end

и, на мой взгляд, я показать диаграмму у меня есть это

<%= high_chart("my_id", @h) %>

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

2 ответа

Решение

Во-первых, вам нужно убедиться, что модуль экспорта доступен и загружен вашим представлением:

<%= javascript_include_tag "vendor/highcharts/highcharts.js" %>
<%= javascript_include_tag "vendor/highcharts/modules/exporting.js" %>

Второе... тут нечего делать. Как только модуль экспорта будет загружен, он добавит меню для экспорта вашего графика.

Заметки:

  • Возможно, вам придется адаптировать пути в зависимости от ваших настроек.
  • exporting.js является частью пакета, который вы загружаете с Highcharts.

Вы можете добавить / обновить следующее в вашем application.js

//= require highcharts/highcharts
//= require highcharts/highcharts-more
//= require highcharts/modules/no-data-to-display
//= require highcharts/modules/exporting

Если вы также хотите обновить активы вендоров с высокими графиками, вы можете запустить:

rake highcharts:update
Другие вопросы по тегам