Python使用Flask框架,结合Highchart,自定义导出菜单项目及顺序

参考链接:

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)
    });
});

效果:

 

原文地址:https://www.cnblogs.com/sanduzxcvbnm/p/10436556.html

时间: 2024-08-30 05:22:35

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

002:python用flask框架开发第一个demo接口

从2020年开始,学习记录开始加入编号了~ 002:python用flask框架开发第一个demo接口 1.安装flask库,cmd命令进入到python37安装目录的scripts中pip3 install flask: 2.开始写代码 1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 import flask 4 import json 5 6 """flask 开发第一个demo接口"""

宝塔面板部署Python的Flask框架项目

以Linux版宝塔面板为例.本篇文章给大家介绍宝塔面板如何部署Flask项目. 先做好准备工作: 进入你的项目根目录,使用命令把项目依赖包导出到项目根目录. pip freeze >requirements.txt 然后把你的项目上传到服务器. 把你的Flask框架项目中的 第一步: 在宝塔应用商店点击“宝塔插件”或搜索“python”找到“Python项目管理器”并安装. 第二步:安装完毕后点击“设置”按钮. 第三步:进行设置界面,单击“版本管理”,安装你项目需要的python版本: 第四步:

Python的Flask框架入门-Ubuntu

全文请见tuts code:An Introduction to Python's Flask Framework Flask是Python一个小而强大的web框架.学起来简单,用起来也容易,能够帮你在很短的时间内创建web应用. 这篇文章中,我们会创建一个简单的web应用,包含两个静态页面和少许动态内容.尽管Flask能够被用来创建大型的,数据库驱动的网站,但是作为开始,通过静态页面来介绍它的工作流程会更有帮助.在了解了流程之后,我们就可以做出更为复杂的页面.读完本文章,你应该能够用这里的步骤

Python使用Flask框架,结合Highchart,搭配数据功能模块,加载 HTML 表格数据

参考链接:https://www.highcharts.com.cn/docs/data-modules 1.javascript代码 var chart = Highcharts.chart('container', { data: { table: 'datatable' }, chart: { type: 'column' }, title: { text: '从 HTML 表格中提取数据并生成图表' // 该功能依赖 data.js 模块,详见https://www.hcharts.cn

Python使用Flask框架,结合Highchart,搭配数据功能模块处理csv数据

参考链接:https://www.highcharts.com.cn/docs/data-modules 1.javascript代码 var csv = document.getElementById('csv').innerHTML; // $.get('data.csv', function(csv) { var chart = Highcharts.chart('container', { chart: { type: 'column' }, data: { csv: csv // 指定

Python之flask框架

Flask是一个Python编写的Web 微框架,让我们可以使用Python语言快速实现一个网站或Web服务.本文参考自Flask官方文档,大部分代码引用自官方文档. 安装flask 首先我们来安装Flask.最简单的办法就是使用pip. pip install flask 然后打开一个Python文件,输入下面的内容并运行该文件.然后访问localhost:5000,我们应当可以看到浏览器上输出了hello world. from flask import Flask app = Flask(

Python 的 Flask 框架安装应用

Flask是一个使用 Python 编写的轻量级 Web 应用框架.其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 ,使用 BSD 授权. Flask也被称为 "microframework" ,因为它使用简单的核心,用 extension 增加其他功能.Flask没有默认使用的数据库.窗体验证工具.然而,Flask保留了扩增的弹性,可以用Flask-extension加入这些功能:ORM.窗体验证工具.文件上传.各种开放式身份验证技术.最新版本为0.12.

Python之Flask框架使用

Flask和Django.Bottle号称Python中的强大又简单的Web框架. Flask是一个使用Python编写的轻量级Web应用框架.基于Werkzeug WSGI工具箱和Jinja2 模板引擎. Flask使用BSD授权. Flask也被称为"microframework",因为它使用简单的核心,用extension增加其他功能.Flask没有默认使用的数据库.窗体验证工具.然而,Flask保留了扩增的弹性,可以用Flask-extension加入这些功能:ORM.窗体验证

Python的Flask框架使用Redis做数据缓存的配置方法

flask配置redis 首先得下载flask的缓存插件Flask-Cache,使用pip下载. sudo pip install flask_cache 为应用扩展flask_cache app = Flask(__name__) 1 config = { 2 'CACHE_TYPE': 'redis', 3 'CACHE_REDIS_HOST': '127.0.0.1', 4 'CACHE_REDIS_PORT': 6379, 5 'CACHE_REDIS_DB': '', 6 'CACHE