您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Library for Calculator (Graphing)
当前为
此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://update.gf.qytechs.cn/scripts/503150/1425281/Graphing%20Plugin.js
// ==UserScript== // @name Graphing Plugin // @namespace https://gf.qytechs.cn/en/users/1291009 // @author BadOrBest // @license MIT // @version 1.2 // @match *://*/* // @grant GM_addStyle // @grant GM_setValue // @grant GM_getValue // @grant GM_deleteValue // @grant GM_registerMenuCommand // @grant GM.registerMenuCommand // @require https://cdnjs.cloudflare.com/ajax/libs/mathjs/13.0.3/math.min.js // @require https://cdnjs.cloudflare.com/ajax/libs/Chart.js/4.4.1/chart.min.js // ==/UserScript== (function() { 'use strict'; let chartInstance = null; // Function to initialize or update the graph function updateGraph() { const graphData = GM_getValue('graphData', []); const ctx = document.getElementById('graphCanvas').getContext('2d'); if (chartInstance) { chartInstance.destroy(); } chartInstance = new Chart(ctx, { type: 'line', data: { datasets: graphData.map(data => ({ label: data.label, data: data.points, borderColor: data.color || 'blue', borderWidth: 1, fill: false })) }, options: { scales: { x: { type: 'linear', position: 'bottom' } } } }); } // Function to toggle the graph display function toggleGraph() { let canvas = document.getElementById('graphCanvas'); if (!canvas) { canvas = document.createElement('canvas'); canvas.id = 'graphCanvas'; canvas.style.position = 'fixed'; canvas.style.bottom = '0'; canvas.style.right = '0'; canvas.style.zIndex = '9999'; document.body.appendChild(canvas); } else { canvas.style.display = canvas.style.display === 'none' ? 'block' : 'none'; if (canvas.style.display === 'block') { updateGraph(); } } } // Function to clear the graph data function clearGraph() { GM_setValue('graphData', []); const canvas = document.getElementById('graphCanvas'); if (canvas) { canvas.style.display = 'none'; } if (chartInstance) { chartInstance.destroy(); chartInstance = null; } } // Function to process user input and update graph data function addGraphData() { const expression = prompt('Enter a mathematical expression (e.g., y=x^2):'); if (expression) { const xValues = Array.from({ length: 100 }, (_, i) => i - 50); // X values from -50 to 50 const yValues = xValues.map(x => math.evaluate(expression.replace(/x/g, x))); // Evaluate expression const newGraphData = GM_getValue('graphData', []); newGraphData.push({ label: `Graph ${newGraphData.length + 1}`, points: xValues.map((x, i) => ({ x, y: yValues[i] })) }); GM_setValue('graphData', newGraphData); updateGraph(); } } // Register menu commands for graphing actions GM_registerMenuCommand('Clear Graph', clearGraph); GM_registerMenuCommand('Add Graph Data', addGraphData); // Listen for custom events to control the graph window.addEventListener('graphControlEvent', (event) => { const { action } = event.detail; if (action === 'toggle') { toggleGraph(); } }); // Initialize or update the graph display if needed if (GM_getValue('graphData', []).length > 0) { updateGraph(); } })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址