Trigonometry Graph Calculator

Trigonometry Graph Calculator & Explainer :root { –primary-color: #004a99; –background-color: #f8f9fa; –card-background: #ffffff; –text-color: #333; –border-color: #ddd; –shadow-color: rgba(0, 0, 0, 0.1); } body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; background-color: var(–background-color); color: var(–text-color); margin: 0; padding: 0; line-height: 1.6; } .container { max-width: 1000px; margin: 20px auto; padding: 20px; background-color: var(–card-background); border-radius: 8px; box-shadow: 0 2px 10px var(–shadow-color); } h1, h2, h3 { color: var(–primary-color); margin-bottom: 15px; } h1 { text-align: center; font-size: 2.2em; margin-bottom: 30px; } .calculator-section { margin-bottom: 40px; padding: 25px; border: 1px solid var(–border-color); border-radius: 8px; background-color: var(–card-background); box-shadow: 0 1px 5px var(–shadow-color); } .input-group { margin-bottom: 20px; display: flex; flex-direction: column; } .input-group label { display: block; margin-bottom: 8px; font-weight: bold; color: var(–primary-color); } .input-group input[type="number"], .input-group select { width: 100%; padding: 10px; border: 1px solid var(–border-color); border-radius: 4px; box-sizing: border-box; font-size: 1em; } .input-group input[type="number"]:focus, .input-group select:focus { outline: none; border-color: var(–primary-color); box-shadow: 0 0 0 2px rgba(0, 74, 153, 0.2); } .input-group .helper-text { font-size: 0.85em; color: #666; margin-top: 5px; } .input-group .error-message { color: #dc3545; font-size: 0.8em; margin-top: 5px; min-height: 1.2em; /* Reserve space for error message */ } .button-group { display: flex; justify-content: space-between; margin-top: 20px; gap: 10px; } .button-group button { padding: 12px 20px; border: none; border-radius: 4px; cursor: pointer; font-size: 1em; font-weight: bold; transition: background-color 0.3s ease; flex-grow: 1; } .button-group button.primary { background-color: var(–primary-color); color: white; } .button-group button.primary:hover { background-color: #003366; } .button-group button.secondary { background-color: #6c757d; color: white; } .button-group button.secondary:hover { background-color: #5a6268; } .results-container { margin-top: 30px; padding: 20px; border: 1px solid var(–border-color); border-radius: 8px; background-color: #e7f3ff; /* Light blue for results */ box-shadow: 0 1px 5px var(–shadow-color); } .results-container h3 { margin-top: 0; color: var(–primary-color); } .result-item { margin-bottom: 15px; font-size: 1.1em; } .result-item strong { color: var(–primary-color); display: inline-block; min-width: 180px; /* Align labels */ } .primary-result { font-size: 1.8em; font-weight: bold; color: var(–primary-color); margin-bottom: 20px; padding: 15px; background-color: white; border-radius: 4px; text-align: center; } .formula-explanation { font-size: 0.95em; color: #555; margin-top: 15px; padding-top: 15px; border-top: 1px dashed var(–border-color); } .table-responsive { overflow-x: auto; margin-top: 20px; margin-bottom: 30px; border: 1px solid var(–border-color); border-radius: 4px; } table { width: 100%; border-collapse: collapse; background-color: var(–card-background); } th, td { padding: 12px 15px; text-align: left; border-bottom: 1px solid var(–border-color); } thead th { background-color: #e9ecef; color: var(–primary-color); font-weight: bold; } tbody tr:nth-child(even) { background-color: #f8f9fa; } caption { caption-side: bottom; font-size: 0.9em; color: #666; padding-top: 10px; text-align: center; } canvas { display: block; width: 100%; height: auto; margin-top: 20px; border: 1px solid var(–border-color); border-radius: 4px; background-color: white; } .article-content { margin-top: 40px; padding: 25px; border: 1px solid var(–border-color); border-radius: 8px; background-color: var(–card-background); box-shadow: 0 1px 5px var(–shadow-color); } .article-content p { margin-bottom: 15px; } .article-content ul { margin-left: 20px; margin-bottom: 15px; } .article-content li { margin-bottom: 8px; } .article-content a { color: var(–primary-color); text-decoration: none; } .article-content a:hover { text-decoration: underline; } .faq-item { margin-bottom: 15px; } .faq-item h3 { margin-bottom: 5px; font-size: 1.1em; cursor: pointer; color: var(–primary-color); } .faq-item p { margin-top: 5px; display: none; /* Hidden by default */ padding-left: 15px; border-left: 2px solid var(–primary-color); } .faq-item.open p { display: block; } .related-tools ul { list-style: none; padding: 0; } .related-tools li { margin-bottom: 10px; } .related-tools a { font-weight: bold; } /* Responsive adjustments */ @media (max-width: 768px) { .container { margin: 10px; padding: 15px; } h1 { font-size: 1.8em; } .button-group { flex-direction: column; } .results-container .result-item strong { min-width: unset; display: block; margin-bottom: 5px; } }

Trigonometry Graph Calculator

Interactive Trigonometry Grapher

Visualize trigonometric functions (sine, cosine, tangent) by adjusting their parameters. See how amplitude, frequency, phase shift, and vertical shift affect the graph in real-time.

Sine (sin) Cosine (cos) Tangent (tan) Select the trigonometric function to graph.
Controls the height of the wave (max value).
Affects the number of cycles in a given interval (affects period).
Horizontal shift of the graph (left/right).
Vertical shift of the graph (up/down).

Graph Parameters & Key Values

Period:
Max Value:
Min Value:
Asymptotes (tan):
The general form of a trigonometric function is:
y = A * func(B * x - C) + D
Where:
  • A is the Amplitude
  • B is the Frequency
  • C is the Phase Shift
  • D is the Vertical Shift
  • func is sin, cos, or tan
Period for sin/cos: 2π / |B|
Period for tan: π / |B|
Max Value (sin/cos): |A| + D
Min Value (sin/cos): -|A| + D
Asymptotes (tan): Occur at x = (π/2 + nπ) / |B| + C/B for integer n.
x (Radians) y (Calculated) Function Value
Sample points for the current trigonometric function.
Visual representation of the trigonometric function.

Understanding the Trigonometry Graph Calculator

What is a Trigonometry Graph Calculator?

A trigonometry graph calculator is an interactive tool designed to help users visualize and understand the behavior of fundamental trigonometric functions like sine, cosine, and tangent. Unlike basic calculators that provide numerical answers, a graph calculator plots these functions on a coordinate plane, allowing users to see their wave-like patterns, periodic nature, and how various parameters influence their shape. This visual aid is invaluable for students learning trigonometry, mathematicians exploring function properties, and anyone needing to model periodic phenomena in fields such as physics, engineering, and signal processing. The core purpose of a trigonometry graph calculator is to demystify these complex functions by making their graphical representations accessible and adjustable.

By manipulating inputs such as amplitude, frequency, phase shift, and vertical shift, users can dynamically alter the graph of a chosen trigonometric function. This hands-on approach fosters a deeper comprehension of how each parameter contributes to the overall form and position of the curve. Whether you're trying to understand the concept of a wave's height (amplitude), how compressed or stretched it is horizontally (frequency/period), or if it's shifted left/right or up/down, this calculator provides immediate visual feedback. It serves as a powerful educational resource, bridging the gap between abstract mathematical formulas and their tangible graphical representations, making the study of trigonometry more intuitive and engaging.

Trigonometry Graph Calculator Formula and Mathematical Explanation

The general form of a sinusoidal trigonometric function, commonly represented in graphing calculators, is:

y = A * func(B * x - C) + D

Let's break down each component:

  • y: The output value of the function for a given input x.
  • A (Amplitude): This value determines the maximum displacement or height of the wave from its midline. For sine and cosine, the graph oscillates between -A + D and A + D. A larger |A| results in a taller wave.
  • func: This represents the basic trigonometric function being used, typically sine (sin), cosine (cos), or tangent (tan).
  • B (Frequency/Angular Frequency): This parameter affects the period of the function. The period is the horizontal length of one complete cycle.
    • For sin(Bx) and cos(Bx), the period is 2π / |B|.
    • For tan(Bx), the period is π / |B|.
    A higher value of |B| leads to a shorter period (more cycles in the same interval), making the wave appear compressed horizontally.
  • x: The input variable, typically representing an angle in radians.
  • C (Phase Shift): This represents a horizontal shift of the graph. The term (Bx - C) inside the function means the graph is shifted to the right by C/B units. A positive C shifts the graph to the right, and a negative C shifts it to the left.
  • D (Vertical Shift): This parameter shifts the entire graph vertically. The midline of the oscillation for sine and cosine functions moves from y=0 to y=D. A positive D shifts the graph upwards, and a negative D shifts it downwards.

Key Values Calculated:

  • Period: As mentioned, this is the length of one full cycle. Calculated as 2π / |B| for sine/cosine and π / |B| for tangent.
  • Maximum Value (for sine/cosine): The highest point the function reaches, calculated as |A| + D.
  • Minimum Value (for sine/cosine): The lowest point the function reaches, calculated as -|A| + D.
  • Asymptotes (for tangent): Vertical lines that the tangent graph approaches but never touches. For tan(Bx), these occur at x = (π/2 + nπ) / |B|, where n is any integer. When phase shift and vertical shift are included, the general form for asymptotes is x = (π/2 + nπ) / B + C/B.

Understanding these formulas allows for precise prediction and interpretation of trigonometric graphs, which is fundamental in many scientific and engineering applications.

Practical Examples (Real-World Use Cases)

Trigonometric functions and their graphical representations are ubiquitous in modeling real-world phenomena. Here are a few practical examples where a trigonometry graph calculator is useful:

  • Physics – Simple Harmonic Motion: The position of a mass oscillating on a spring or a pendulum's swing can often be modeled using sine or cosine functions. The amplitude represents the maximum displacement, the frequency relates to how fast it oscillates, and the phase shift might indicate the starting position. For instance, modeling a spring-mass system might involve a function like x(t) = 5 * cos(2π * 2 * t), where 5 cm is the amplitude, and it completes 2 cycles per second.
  • Engineering – Alternating Current (AC) Circuits: The voltage and current in AC circuits fluctuate sinusoidally over time. Engineers use trigonometric functions to describe these waveforms, analyze power consumption, and design filters. The frequency corresponds to the mains frequency (e.g., 50 Hz or 60 Hz), and amplitude represents the peak voltage or current.
  • Signal Processing: Sound waves, radio waves, and light waves are often represented as combinations of sine waves (Fourier analysis). Understanding the frequency and amplitude of these waves is crucial for tasks like audio compression, telecommunications, and image processing. A trigonometry graph calculator helps visualize these basic wave components.
  • Biology – Population Dynamics: Certain biological populations exhibit cyclical fluctuations over time, such as predator-prey cycles or seasonal breeding patterns. While often more complex, simplified models can sometimes use trigonometric functions to approximate these periodic trends.
  • Oceanography – Tides: The rise and fall of ocean tides can be approximated using sinusoidal functions. The period is related to the tidal cycle (roughly 12.4 hours for semi-diurnal tides), and the amplitude is the difference between high and low tide levels.
  • Computer Graphics: Creating animations, simulating wave effects, or generating procedural textures often involves trigonometric functions. Understanding how to manipulate frequency and amplitude can create realistic visual effects.

In essence, any phenomenon that repeats in a cyclical or wave-like manner can potentially be modeled or analyzed using trigonometric functions, making the visualization tools provided by a trigonometry graph calculator highly relevant across numerous disciplines.

How to Use This Trigonometry Graph Calculator

Using this interactive trigonometry graph calculator is straightforward. Follow these steps to explore and understand trigonometric functions:

  1. Select Function Type: Choose the basic trigonometric function you want to visualize from the "Function Type" dropdown menu: Sine (sin), Cosine (cos), or Tangent (tan).
  2. Adjust Parameters:
    • Amplitude (A): Enter a positive value to control the height of the sine or cosine wave.
    • Frequency (B): Enter a positive value to control how compressed or stretched the wave is horizontally. This directly impacts the period.
    • Phase Shift (C): Enter a value to shift the graph horizontally. A positive value shifts it right, and a negative value shifts it left.
    • Vertical Shift (D): Enter a value to shift the graph vertically. A positive value shifts it up, and a negative value shifts it down.
    As you change any input value, the graph, table, and key results will update automatically in real-time.
  3. Interpret Results:
    • Primary Result: The main display shows the equation of the graphed function based on your inputs.
    • Period: Understand the length of one complete cycle for sine/cosine or the interval between asymptotes for tangent.
    • Max/Min Values: See the highest and lowest points the sine or cosine function reaches.
    • Asymptotes: For the tangent function, observe the locations of its vertical asymptotes.
  4. Examine the Table: The table provides specific coordinate points (x, y) for the function at various intervals, helping you pinpoint values.
  5. View the Chart: The dynamic chart visually represents the function based on your parameter inputs. It scales automatically to fit the available space.
  6. Copy Results: Click the "Copy Results" button to copy the current function equation and key calculated values to your clipboard for use elsewhere.
  7. Reset Defaults: If you want to start over or return to the standard settings (e.g., y = sin(x)), click the "Reset Defaults" button.

This calculator is designed for ease of use, allowing you to experiment freely and build an intuitive understanding of how each trigonometric parameter affects the graph.

Key Factors That Affect Trigonometry Graph Results

Several key factors, represented by the input parameters, significantly influence the resulting trigonometric graph:

  • Amplitude (A): This is the most direct factor affecting the vertical 'height' or 'depth' of the sine and cosine waves. A larger amplitude means the wave extends further from its midline. For tangent, amplitude doesn't apply in the same way as it doesn't have bounded maximum or minimum values.
  • Frequency (B): This parameter is crucial for determining the periodicity of the function. A higher frequency (larger |B|) results in more cycles within a given horizontal range, making the wave appear compressed. Conversely, a lower frequency (smaller |B|) stretches the wave out, increasing its period. This is fundamental to understanding how quickly a periodic process repeats.
  • Phase Shift (C): This factor dictates the horizontal position of the graph. It essentially shifts the entire wave left or right without changing its shape, amplitude, or period. It's important for aligning trigonometric models with specific starting conditions or events in time-series data.
  • Vertical Shift (D): This shifts the entire graph up or down. For sine and cosine, it changes the midline around which the wave oscillates. This is useful for modeling phenomena that have a baseline offset from zero.
  • Function Type (sin, cos, tan): The choice of function itself dictates the fundamental shape and properties. Sine and cosine produce smooth, continuous waves with bounded ranges, while tangent has a distinct repeating pattern with vertical asymptotes and an unbounded range. Their phase relationships also differ (e.g., cosine is a phase-shifted sine wave).

Understanding how these factors interact is key to accurately interpreting and applying trigonometric functions in various contexts. For example, modeling seasonal temperature changes requires adjusting amplitude (temperature range), frequency (annual cycle), and vertical shift (average annual temperature).

Frequently Asked Questions (FAQ)

What is the difference between frequency and period?

Frequency (B) is the number of cycles per unit of input (e.g., per radian or second). Period is the length of one complete cycle. They are inversely related: Period = 2π / |B| (for sin/cos) or Period = π / |B| (for tan).

Can the amplitude be negative?

Mathematically, the amplitude 'A' is often defined as a positive value representing the maximum displacement. However, if a negative value is input for 'A', it effectively results in a reflection of the graph across its midline, in addition to scaling. The calculator uses |A| for max/min value calculations to represent the magnitude of the wave's height.

How do I interpret the asymptotes for the tangent function?

Asymptotes are vertical lines that the tangent graph approaches infinitely closely but never touches. They occur at regular intervals. For tan(Bx), they are located at x = (π/2 + nπ) / |B|, where 'n' is any integer. The calculator displays these key x-values.

What does a phase shift of 0 mean?

A phase shift (C) of 0 means the graph is not horizontally shifted relative to its standard position. For example, y = sin(x) starts at (0,0) and increases, while y = sin(x - π/2) (phase shift of π/2) starts at (π/2, 0) and decreases, resembling a standard cosine graph.

Can this calculator graph functions like y = 2sin(3x – π) + 1?

Yes, absolutely. In this example: Amplitude A=2, Frequency B=3, Phase Shift C=π, and Vertical Shift D=1. You would input these values into the corresponding fields.

© 2023 Your Website Name. All rights reserved.
var canvas = document.getElementById('trigChart'); var ctx = canvas.getContext('2d'); var chartInstance = null; // To hold chart object function drawChart(functionType, A, B, C, D) { if (chartInstance) { chartInstance.destroy(); // Destroy previous chart instance } var width = canvas.clientWidth; var height = canvas.clientHeight; canvas.width = width; // Set canvas dimensions to its display size canvas.height = height; var scaleX = 100; // Pixels per unit on x-axis var scaleY = 50; // Pixels per unit on y-axis var xMin = -Math.PI * 2; var xMax = Math.PI * 2; var yMin = -2.5 * A – Math.abs(D) – 2; var yMax = 2.5 * A + Math.abs(D) + 2; if (functionType === 'tan') { yMin = -10; yMax = 10; } var dataPoints = []; var labels = []; var numPoints = 400; for (var i = 0; i = 0 && xAxisY = 0 && yAxisX <= canvas.width) { ctx.beginPath(); ctx.moveTo(yAxisX, 0); ctx.lineTo(yAxisX, canvas.height); ctx.stroke(); } // Draw the function graph ctx.strokeStyle = 'var(–primary-color)'; ctx.lineWidth = 2; ctx.beginPath(); var firstPoint = true; for (var i = 0; i 1000) { // Arbitrary large value to detect asymptote jump firstPoint = true; continue; } if (firstPoint) { ctx.moveTo(canvasX, canvasY); firstPoint = false; } else { ctx.lineTo(canvasX, canvasY); } } ctx.stroke(); // Add labels/legends (simplified) ctx.fillStyle = '#333′; ctx.font = '12px Arial'; ctx.fillText('x', canvas.width – 20, height / 2 + 15); ctx.fillText('y', 10, 20); } function calculateY(x, funcType, A, B, C, D) { var angle = B * x – C; var result; if (funcType === 'sin') { result = A * Math.sin(angle) + D; } else if (funcType === 'cos') { result = A * Math.cos(angle) + D; } else if (funcType === 'tan') { result = A * Math.tan(angle) + D; } else { result = NaN; } return result; } function validateInput(id, min, max, isRequired = true) { var input = document.getElementById(id); var errorElement = document.getElementById(id + 'Error'); var value = input.value.trim(); var numValue = parseFloat(value); errorElement.textContent = "; // Clear previous error if (isRequired && value === ") { errorElement.textContent = 'This field is required.'; return false; } if (value !== " && isNaN(numValue)) { errorElement.textContent = 'Please enter a valid number.'; return false; } if (min !== null && numValue max) { errorElement.textContent = 'Value cannot be greater than ' + max + '.'; return false; } return true; } function updateCalculator() { var functionType = document.getElementById('functionType').value; var A = parseFloat(document.getElementById('amplitude').value); var B = parseFloat(document.getElementById('frequency').value); var C = parseFloat(document.getElementById('phaseShift').value); var D = parseFloat(document.getElementById('verticalShift').value); var isValid = true; isValid = validateInput('amplitude', 0.1) && isValid; isValid = validateInput('frequency', 0.1) && isValid; // Phase shift and vertical shift can be zero or negative isValid = validateInput('phaseShift', null) && isValid; isValid = validateInput('verticalShift', null) && isValid; if (!isValid) { document.getElementById('primaryResult').textContent = 'Invalid Input'; document.getElementById('periodResult').textContent = '–'; document.getElementById('maxValueResult').textContent = '–'; document.getElementById('minValueResult').textContent = '–'; document.getElementById('asymptotesResult').textContent = '–'; document.getElementById('trigTableBody').innerHTML = "; if (ctx) ctx.clearRect(0, 0, canvas.width, canvas.height); return; } var period, maxValue, minValue, asymptotes; var funcString = "; if (functionType === 'sin') { funcString = 'y = ' + (A === 1 ? " : A) + 'sin(' + (B === 1 ? " : B) + 'x' + (C === 0 ? " : (C > 0 ? ' – ' + C : ' + ' + Math.abs(C))) + ')'; period = (2 * Math.PI / Math.abs(B)).toFixed(3); maxValue = (Math.abs(A) + D).toFixed(3); minValue = (-Math.abs(A) + D).toFixed(3); asymptotes = 'N/A'; } else if (functionType === 'cos') { funcString = 'y = ' + (A === 1 ? " : A) + 'cos(' + (B === 1 ? " : B) + 'x' + (C === 0 ? " : (C > 0 ? ' – ' + C : ' + ' + Math.abs(C))) + ')'; period = (2 * Math.PI / Math.abs(B)).toFixed(3); maxValue = (Math.abs(A) + D).toFixed(3); minValue = (-Math.abs(A) + D).toFixed(3); asymptotes = 'N/A'; } else if (functionType === 'tan') { funcString = 'y = ' + (A === 1 ? " : A) + 'tan(' + (B === 1 ? " : B) + 'x' + (C === 0 ? " : (C > 0 ? ' – ' + C : ' + ' + Math.abs(C))) + ')'; period = (Math.PI / Math.abs(B)).toFixed(3); maxValue = '∞'; minValue = '-∞'; // Calculate first few asymptotes var asymptoteValues = []; for (var n = -2; n <= 2; n++) { var asymptoteX = (Math.PI / 2 + n * Math.PI) / B + C / B; asymptoteValues.push(asymptoteX.toFixed(3)); } asymptotes = asymptoteValues.join(', '); } document.getElementById('primaryResult').textContent = funcString; document.getElementById('periodResult').textContent = period + ' radians'; document.getElementById('maxValueResult').textContent = maxValue; document.getElementById('minValueResult').textContent = minValue; document.getElementById('asymptotesResult').textContent = asymptotes; // Update table var tableBody = document.getElementById('trigTableBody'); tableBody.innerHTML = ''; // Clear previous rows var xValues = [-Math.PI, -Math.PI / 2, 0, Math.PI / 2, Math.PI, 3 * Math.PI / 2, 2 * Math.PI]; if (functionType === 'tan') { xValues = [-Math.PI * 0.9, -Math.PI * 0.4, 0, Math.PI * 0.4, Math.PI * 0.9]; } for (var i = 0; i < xValues.length; i++) { var xRad = xValues[i]; var xShifted = xRad; // Placeholder, actual x for calculation is different var y = calculateY(xRad, functionType, A, B, C, D); var row = tableBody.insertRow(); var cellX = row.insertCell(0); var cellY = row.insertCell(1); var cellFunc = row.insertCell(2); cellX.textContent = xRad.toFixed(3); cellY.textContent = isNaN(y) ? 'N/A' : y.toFixed(3); cellFunc.textContent = funcString.replace('y = ', '').replace('x', '(' + xRad.toFixed(3) + ')'); } // Update chart drawChart(functionType, A, B, C, D); } function resetCalculator() { document.getElementById('functionType').value = 'sin'; document.getElementById('amplitude').value = '1'; document.getElementById('frequency').value = '1'; document.getElementById('phaseShift').value = '0'; document.getElementById('verticalShift').value = '0'; // Clear errors document.getElementById('amplitudeError').textContent = ''; document.getElementById('frequencyError').textContent = ''; document.getElementById('phaseShiftError').textContent = ''; document.getElementById('verticalShiftError').textContent = ''; updateCalculator(); } function copyResults() { var primaryResult = document.getElementById('primaryResult').textContent; var periodResult = document.getElementById('periodResult').textContent; var maxValueResult = document.getElementById('maxValueResult').textContent; var minValueResult = document.getElementById('minValueResult').textContent; var asymptotesResult = document.getElementById('asymptotesResult').textContent; var tableRows = document.getElementById('trigTableBody').rows; var tableData = "Table Data:\n"; for (var i = 0; i < tableRows.length; i++) { tableData += tableRows[i].cells[0].textContent + "\t" + tableRows[i].cells[1].textContent + "\t" + tableRows[i].cells[2].textContent + "\n"; } var copyText = "Trigonometry Graph Calculator Results:\n\n" + "Function: " + primaryResult + "\n" + "Period: " + periodResult + "\n" + "Max Value: " + maxValueResult + "\n" + "Min Value: " + minValueResult + "\n" + "Asymptotes (tan): " + asymptotesResult + "\n\n" + tableData; navigator.clipboard.writeText(copyText).then(function() { // Optional: Show a confirmation message var btn = event.target; btn.textContent = 'Copied!'; setTimeout(function() { btn.textContent = 'Copy Results'; }, 2000); }).catch(function(err) { console.error('Failed to copy text: ', err); alert('Failed to copy results. Please copy manually.'); }); } function toggleFaq(element) { var parent = element.parentElement; parent.classList.toggle('open'); } // Initial calculation and chart draw on page load window.onload = function() { updateCalculator(); // Adjust canvas size on load and resize window.addEventListener('resize', function() { updateCalculator(); // Redraws chart with correct dimensions }); };

Leave a Comment