参考链接:

https://www.highcharts.com.cn/docs/export-module-overview

https://api.hcharts.cn/highcharts#exporting.chartOptions

图表导出模块是指提供了将网页中图表导出为常见的图片格式(PNG、JPG、SVG) 或 PDF 文档的功能模块,另外导出模块还提供了直接在网页中打印图表的功能。

图表的导出默认是提交数据(SVG 字符串或图表配置 JSON 字符串 )到导出服务器上进行生成图片,另外我们提供的纯客户端导出的功能模块 offline-exporting.js 可以不需要导出服务器就可以完成这个操作。

导出功能需要额外的引入相关的文件,下面是示例代码:

<script src="http://cdn.hcharts.cn/highcharts/highcharts.js"></script>

<!-- 需要保存导出功能模块文件是在 highcharts.js 之后引入 -->
<script src="http://cdn.hcharts.cn/highcharts/modules/exporting.js"></script> <!-- 客户端导出功能模块为可选选项 -->
<script src="http://cdn.hcharts.cn/highcharts/modules/offline-exporting.js"></script> 示例代码
1.html文件
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>第一个 Highcharts 图表</title>
<!-- 引入 jquery.js -->
<script src="static/jquery-3.3.1.min.js"></script>
<!-- 引入 highcharts.js -->
<script src="static/highcharts-7.0.3.js"></script>
<!-- 需要保存导出功能模块文件是在 highcharts.js 之后引入 -->
<script src="static/exporting.js"></script>
<!-- 客户端导出功能模块为可选选项 -->
<script src="static/offline-exporting.js"></script>
{# <script src="static/data.js"></script>#} </head>
<body> <!-- 图表容器 DOM -->
<div id="container" style="min-width:400px;height:400px;"></div> <script src="static/b.js"></script>
</body>
</html>

2.js代码

$(function () {
// 本地化导出按钮中的文字,具体请参考 https://www.hcharts.cn/docs/basic-lang
Highcharts.setOptions({
lang: {
contextButtonTitle: "图表导出菜单",
downloadJPEG: "下载 JPEG 图片",
downloadPDF: "下载 PDF 文件",
downloadPNG: "下载 PNG 文件",
downloadSVG: "下载 SVG 文件",
printChart: "打印图表"
}
});
// 默认的导出菜单选项,是一个数组
var dafaultMenuItem = Highcharts.getOptions().exporting.buttons.contextButton.menuItems;
console.log(dafaultMenuItem);
$('#container').highcharts({
credits: {
enabled: false
},
xAxis: {
categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
},
series: [{
data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]
}],
title: {
text: '自定义导出菜单项目及顺序'
},
exporting: {
buttons: {
contextButton: {
// 自定义导出菜单项目及顺序
menuItems: [
dafaultMenuItem[0], // 默认的打印图表
dafaultMenuItem[1], // 默认的分割线
dafaultMenuItem[2], // 默认的下载 PNG 图片
dafaultMenuItem[3], // 默认的下载 JPEG 图片
dafaultMenuItem[4], // 默认的下载 PDF 文件
dafaultMenuItem[5], // 默认的下载 SVG 文件
{
separator: true // 自定义的分割线
},
dafaultMenuItem[1], // 默认的分割线
{
text: '下载 PDF 文件', // 自定义下载 PDF 文件
onclick: function () {
this.exportChart({
type: 'application/pdf' // 可选的值有 image/png,image/jpeg,application/pdf 和 image/svg+xml。 默认是:image/png
});
}
},
{
text: '下载 SVG 文件', // 自定义下载 SVG 文件
onclick: function () {
this.exportChart({
type: 'image/svg+xml'
});
}
},
dafaultMenuItem[1], // 默认的分割线
{
text: '跳转链接',
onclick: function () {
window.location.href = 'https://www.hcharts.cn';
}
}
]
}
}
}
}, function () {
setTimeout(function () {
$('.highcharts-contextbutton').click();
}, 200)
});
});

效果:

 

Python使用Flask框架,结合Highchart,自定义导出菜单项目及顺序的更多相关文章

  1. Python基于Flask框架配置依赖包信息的项目迁移部署小技巧

    一般在本机上完成基于Flask框架的代码编写后,如果有接口或者数据操作方面需求需要把代码部署到指定服务器上. 一般情况下,使用Flask框架开发者大多数都是选择Python虚拟环境来运行项目,不同的虚 ...

  2. Python使用Flask框架,结合Highchart,自定义基本上算是最全的导出菜单了

    说用:引入export-data.js文件后,导出菜单中会自动显示出相应的导出选项,只需要在lang中换成中文名即可. 本实例除了包含系统自带的,还包括自定义的导出菜单等. html代码 <!D ...

  3. 使用Python的Flask框架,结合Highchart,动态渲染图表(Ajax 请求数据接口)

    参考链接:https://www.highcharts.com.cn/docs/ajax 参考链接中的示例代码是使用php写的,这里改用python写. 需要注意的地方: 1.接口返回的数据格式,这个 ...

  4. python之Flask框架

    一.简单的Flask框架 1)flask简介 Flask 是一个 web 框架.也就是说 Flask 为你提供工具,库和技术来允许你构建一个 web 应用程序. 这个 wdb 应用程序可以使一些 we ...

  5. Python之Flask框架项目Demo入门

    Python+Flask框架项目Demo入门 本例子用到了 Flask+蓝图+Flask-Login+SQLAlchemy+WTForms+PyMySQL相关架构 Flask Web框架介绍 Flas ...

  6. Python的Flask框架入门-Ubuntu

    全文请见tuts code:An Introduction to Python's Flask Framework Flask是Python一个小而强大的web框架.学起来简单,用起来也容易,能够帮你 ...

  7. Python使用Flask框架,结合Highchart,自定义图表样式主题

    参考链接:https://www.highcharts.com.cn/docs/themes 1.使用官方提供的主题js文件,只需要在 highcharts.js 后引入对应的文件即可,不用修改原有的 ...

  8. 使用Python的Flask框架,结合Highchart,动态渲染图表

    服务端动态渲染图表 参考文章链接:https://www.highcharts.com.cn/docs/dynamic-produce-html-page 参考文章是使用php写的,我这边改用pyth ...

  9. Python使用Flask框架,结合Highchart处理csv数据(引申-从文件获取数据--从数据库获取数据)

    参考链接:https://www.highcharts.com.cn/docs/process-text-data-file 1.javascript代码 var options = { chart: ...

随机推荐

  1. 使用 MongoDB 存储商品分类信息

    此文已由作者温正湖授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 这是一篇MongoDB官网上的一篇文章,分析了使用MongoDB存储商品分类信息相比其他数据库的优势,并讲述 ...

  2. Ruby 动态生成变量

    创建: 2018/03/21 更新: 2018/03/22 把标题ruby首字母大写 方法一: eval将字符串作为代码执行, 故写在里边 eval("@#{view_name.to_s} ...

  3. Word Cloud (词云) - Python

    >>What's Word Cloud 词云 (Word Cloud)是对文本中出现频率较高的词语给予视觉化展示的图形, 是一种常见的文本挖掘的方法.目前已有多种数据分析工具支持这种图形, ...

  4. 在ios Xcode10下小白都能解决library not found for -libstdc++.6.0.9

    写在前面 library not found for -libstdc++.6.0.9,今天做项目的时候碰到这个问题,解决的过程中遇到了目录路径不对的问题(不在通常的/Applications/Xco ...

  5. 手机端实现6位短信验证码input输入框效果(样式及代码方法)

    微信移动端4位.6位.多位验证码密码输入框功能的实现代码,实现思路: 方案1: 写一个简单的input框. 评估:样式不好看,待定. 方案2: 就是用6个input框,每输入一个数字之后,切换到下一个 ...

  6. shiro 登录

    @Controllerpublic class LoginController { @RequestMapping(value="/login") public @Response ...

  7. jenkins构建maven项目

    使用jenkins构建部署maven项目 因为一开始我们是自定义插件,所以构建项目的时候没有显示maven风格的项目.如果要想使用maven,我们这里必须得安装一下插件,我们在插件管理器中, 可以看到 ...

  8. git介绍及安装

    git介绍 git是一个开源的分布式版本控制系统,用于敏捷高效的处理任何或大或小的项目.git是linus Torvalds为了帮助管理Linux内核开发的一个开放源码的版本控制软件. Git 与常用 ...

  9. PHP获取今天内的时间 今天开始和结束的时间戳

    $t = time(); $start = mktime(0,0,0,date("m",$t),date("d",$t),date("Y", ...

  10. C. Mahmoud and a Message dp + 暴力

    http://codeforces.com/contest/766/problem/C 关键在于dp,如何计数. 设dp[i]表示前i个字母中,能分成多少份合法的情况.那么答案就是dp[n],其中dp ...