图表生成脚本如何做?

wen 实用脚本 40

本文目录导读:

图表生成脚本如何做?

  1. 方案一:Python + Matplotlib(最通用,适合数据分析、后端生成图片)
  2. 方案二:JavaScript + ECharts(最炫酷,适合网页前端展示)
  3. 方案三:Shell + gnuplot(最轻量,适合Linux服务器、Cron定时任务)
  4. 方案四:纯 SQL + 数据库自带功能(最简单,适合DB可视化)
  5. 如何选择?
  6. 额外建议:如何“用AI”写图表脚本?

制作“图表生成脚本”取决于你使用的编程语言应用场景(是网页前端展示,还是后端生成图片,或是自动化办公)。

这里提供四种最主流、最实用的方案,你可以根据需求选择:

Python + Matplotlib(最通用,适合数据分析、后端生成图片)

这是数据分析师和程序员最常用的组合,能生成高质量的矢量图或位图。

核心库: matplotlib, pandas, numpy

示例脚本(生成柱状图和折线图):

import matplotlib.pyplot as plt
import pandas as pd
# 1. 准备数据
data = {
    '月份': ['1月', '2月', '3月', '4月', '5月'],
    '销售额': [120, 190, 110, 210, 160]
}
df = pd.DataFrame(data)
# 2. 创建画布
plt.figure(figsize=(10, 6), dpi=100)
# 3. 绘制柱状图
plt.bar(df['月份'], df['销售额'], color='skyblue', label='月销售额')
# 4. 添加标题和标签'2024年上半年销售趋势', fontsize=16)
plt.xlabel('月份', fontsize=12)
plt.ylabel('销售额 (万元)', fontsize=12)
# 5. 显示数据标签
for i, v in enumerate(df['销售额']):
    plt.text(i, v + 2, str(v), ha='center', va='bottom')
# 6. 显示图例
plt.legend()
# 7. 保存到本地(关键步骤)
plt.savefig('销售图表.png', dpi=300, bbox_inches='tight')
# 8. 显示(如果在Jupyter或脚本中运行)
plt.show()
print("图表已生成:销售图表.png")

运行方式: python your_script.py 适用场景: 数据分析报告、自动化报表、邮件附件图表。


JavaScript + ECharts(最炫酷,适合网页前端展示)

如果你开发网页,ECharts 是首选,交互性强,支持海量数据。

核心库: ECharts (CDN 或 npm)

示例脚本(HTML文件):

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />ECharts 图表脚本</title>
    <!-- 引入 ECharts -->
    <script src="https://cdn.jsdelivr.net/npm/echarts@5/dist/echarts.min.js"></script>
</head>
<body>
    <!-- 准备一个容器 -->
    <div id="main" style="width: 800px;height:500px;"></div>
    <script type="text/javascript">
        // 1. 初始化图表实例
        var myChart = echarts.init(document.getElementById('main'));
        // 2. 配置项
        var option = {
            title: {
                text: '网站用户访问量',
                left: 'center'
            },
            tooltip: {
                trigger: 'axis'
            },
            xAxis: {
                type: 'category',
                data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日']
            },
            yAxis: {
                type: 'value'
            },
            series: [
                {
                    name: '访问量',
                    type: 'line',  // 改成 'bar' 就是柱状图
                    data: [820, 932, 901, 934, 1290, 1330, 1320],
                    smooth: true,
                    lineStyle: { width: 3 }
                }
            ]
        };
        // 3. 渲染图表
        myChart.setOption(option);
        // 4. 让图表自适应窗口大小
        window.addEventListener('resize', function() {
            myChart.resize();
        });
    </script>
</body>
</html>

运行方式: 直接用浏览器打开 HTML 文件。 适用场景: 数据看板、管理后台、实时监控大屏。


Shell + gnuplot(最轻量,适合Linux服务器、Cron定时任务)

如果你不想装Python,服务器上只有Shell环境,gnuplot是非常强大的选择。

示例脚本(chart.gp):

# 设置输出格式为PNG
set terminal pngcairo size 800,600 enhanced font 'Verdana,10'
set output 'performance_chart.png'
和轴'服务器CPU使用率 (%)'
set xlabel '时间'
set ylabel '使用率'
set xdata time
set timefmt "%H:%M"
set format x "%H:%M"
# 绘制数据文件
plot 'data.txt' using 1:2 with lines title 'CPU-1' linewidth 2, \
     '' using 1:3 with lines title 'CPU-2' linewidth 2

假设 data.txt 内容为:

09:00 45 50
09:05 48 55
09:10 52 60

运行命令: gnuplot chart.gp 适用场景: 服务器运维监控、定时生成性能报告。


纯 SQL + 数据库自带功能(最简单,适合DB可视化)

很多数据库支持直接生成图表(如 Grafana、Superset、或数据库控制台)。

示例(MySQL Workbench / Grafana):

  1. 写一个SQL脚本查询数据:
    SELECT 
        DATE(created_at) as day, 
        COUNT(*) as user_count
    FROM users
    GROUP BY day
    ORDER BY day;
  2. 在工具中直接选择“Chart”或“Bar”类型。

适用场景: 数据库管理员快速查看趋势。


如何选择?

你的角色 / 场景 推荐方案
数据分析师 / 科研 Python + Matplotlib
前端开发者 / 网页展示 JavaScript + ECharts
运维工程师 / 自动化脚本 Shell + gnuplot
只想快速看个图 Excel / 数据库自带工具

额外建议:如何“用AI”写图表脚本?

你可以把需求直接发给 AI(比如我),

“用Python的matplotlib,帮我写一个脚本,读取一个CSV文件(列名为date和revenue),生成带网格线的折线图,并保存为PDF。”

我会直接生成完整可运行的代码。

需要我为你针对特定的数据格式或业务需求写一个脚本吗? 请告诉我数据来源(数据库、CSV、JSON)和想用的语言。

抱歉,评论功能暂时关闭!