Python使用Flask框架,结合Highchart,自定义基本上算是最全的导出菜单了
说用:引入export-data.js文件后,导出菜单中会自动显示出相应的导出选项,只需要在lang中换成中文名即可。
本实例除了包含系统自带的,还包括自定义的导出菜单等。
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>
<!-- 导出 Excel 数据文件 -->
<script src="static/export-data.js"></script> </head>
<body> <!-- 图表容器 DOM -->
<div id="container" style="min-width:400px;height:400px;"></div> <script src="static/b.js"></script>
</body>
</html>
js代码
$(function () {
// 本地化导出按钮中的文字,具体请参考 https://www.hcharts.cn/docs/basic-lang
Highcharts.setOptions({
lang: {
contextButtonTitle: "图表导出菜单",
downloadJPEG: "下载 JPEG 图片",
downloadPDF: "下载 PDF 文件",
downloadPNG: "下载 PNG 文件",
downloadSVG: "下载 SVG 文件",
printChart: "打印图表",
downloadCSV: '下载 CSV 文件',
downloadXLS: '下载 XLS 文件',
viewData: '查看数据表格'
}
});
// 默认的导出菜单选项,是一个数组
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 文件
dafaultMenuItem[6], // 默认的分割线
dafaultMenuItem[7], // 默认的下载 CSV 文件
dafaultMenuItem[8], // 默认的下载 XLS 文件
dafaultMenuItem[9], // 查看数据表格
{
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,自定义基本上算是最全的导出菜单了的更多相关文章
- Python使用Flask框架,结合Highchart,自定义导出菜单项目及顺序
参考链接: https://www.highcharts.com.cn/docs/export-module-overview https://api.hcharts.cn/highcharts#ex ...
- 使用Python的Flask框架,结合Highchart,动态渲染图表(Ajax 请求数据接口)
参考链接:https://www.highcharts.com.cn/docs/ajax 参考链接中的示例代码是使用php写的,这里改用python写. 需要注意的地方: 1.接口返回的数据格式,这个 ...
- python之Flask框架
一.简单的Flask框架 1)flask简介 Flask 是一个 web 框架.也就是说 Flask 为你提供工具,库和技术来允许你构建一个 web 应用程序. 这个 wdb 应用程序可以使一些 we ...
- Python之Flask框架项目Demo入门
Python+Flask框架项目Demo入门 本例子用到了 Flask+蓝图+Flask-Login+SQLAlchemy+WTForms+PyMySQL相关架构 Flask Web框架介绍 Flas ...
- Python基于Flask框架配置依赖包信息的项目迁移部署小技巧
一般在本机上完成基于Flask框架的代码编写后,如果有接口或者数据操作方面需求需要把代码部署到指定服务器上. 一般情况下,使用Flask框架开发者大多数都是选择Python虚拟环境来运行项目,不同的虚 ...
- Python的Flask框架入门-Ubuntu
全文请见tuts code:An Introduction to Python's Flask Framework Flask是Python一个小而强大的web框架.学起来简单,用起来也容易,能够帮你 ...
- Python使用Flask框架,结合Highchart,自定义图表样式主题
参考链接:https://www.highcharts.com.cn/docs/themes 1.使用官方提供的主题js文件,只需要在 highcharts.js 后引入对应的文件即可,不用修改原有的 ...
- 使用Python的Flask框架,结合Highchart,动态渲染图表
服务端动态渲染图表 参考文章链接:https://www.highcharts.com.cn/docs/dynamic-produce-html-page 参考文章是使用php写的,我这边改用pyth ...
- Python使用Flask框架,结合Highchart处理csv数据(引申-从文件获取数据--从数据库获取数据)
参考链接:https://www.highcharts.com.cn/docs/process-text-data-file 1.javascript代码 var options = { chart: ...
随机推荐
- python运行selenium时出现的一个错误总结
1.SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame 场景:运用pan ...
- poj 2398 Toy Storage【二分+叉积】
二分点所在区域,叉积判断左右 #include<iostream> #include<cstdio> #include<cstring> #include<a ...
- P5071 [Ynoi2015]此时此刻的光辉
传送门 lxl大毒瘤 首先一个数的因子个数就是这个数的每个质因子的次数+1的积,然后考虑把每个数分解质因子,用莫队维护,然后我交上去就0分了 如果是上面那样的话,我们每一次移动指针的时间复杂度是O(这 ...
- [App Store Connect帮助]八、维护您的 App(4.1)监控顾客评论:评分与评论概述
App Store 上的评分与评论 顾客可以按照 1 星至 5 星的级别对您的 App 进行评分.顾客还可为您的 iOS 和 macOS App 撰写评论,但无法为 Apple TVOS App 撰写 ...
- NOI题库--盒子和小球系列 By cellur925
题目传送门 盒子和小球之二:N个有差别的盒子(1<=N<=20).你有A个红球和B个蓝球.0 <= A <= 15, 0 <= B <= 15.球除了颜色没有任何区 ...
- oracle ORA-01704: string literal too long问题分析
今天使用sql在oracle直接insert update一个表时,出现ORA-01704: string literal too long的错误,我们的sql是 update mall_config ...
- docker 中部署一个springBoot项目
docker 中部署一个springBoot项目 (1)介绍 springBoot项目 1.项目结构 2.pom.xml <?xml version="1.0" encodi ...
- [PKUWC2018]猎人杀
题解 感觉是一道神题,想不出来 问最后\(1\)号猎人存活的概率 发现根本没法记录状态 每次转移的分母也都不一样 可以考虑这样一件事情: 如果一个人被打中了 那么不急于从所有人中将ta删除,而是给ta ...
- Nuget 自定义配置(官网)
<?xml version="1.0" encoding="utf-8"?> <configuration> <config> ...
- 转】MYSQL性能调优与架构设计之select count(*)的思考
原博文出自于: http://blog.fens.me/category/%E6%95%B0%E6%8D%AE%E5%BA%93/page/5/ 感谢! Posted: Feb 7, 2013 Tag ...