Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.08.2022, 14:02
Кандидат Javascript-наук
Отправить личное сообщение для Signal Посмотреть профиль Найти все сообщения от Signal
 
Регистрация: 03.05.2016
Сообщений: 137

График в canvas на javascript
Всех приветствую.
Есть 24 числа, скажем от 4 до 6 в каждой единице из этих 24 значений
типа array(24) 4.2, 5,7, 3.1 и т.д. 24 штуки

, т.е. он получается перевернут
а надо так:

я понимаю, что пропорциями можно все рассчитать, но не математик я и 2-ка была по ней, не въеду

координаты считаю так
let PosY = ((Centered * BuyPrice) / (MaxFPrice));

Последний раз редактировалось Signal, 21.08.2022 в 14:21.
Ответить с цитированием
  #2 (permalink)  
Старый 21.08.2022, 14:32
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,071

Signal,
подожду переводчика ...
Ответить с цитированием
  #3 (permalink)  
Старый 21.08.2022, 14:36
Кандидат Javascript-наук
Отправить личное сообщение для Signal Посмотреть профиль Найти все сообщения от Signal
 
Регистрация: 03.05.2016
Сообщений: 137

Сообщение от рони Посмотреть сообщение
Signal,
подожду переводчика ...
так, а чего не понятно, координаты картинки с верхнего левого угла, т.е. чем больше число, тем ниже оно на графике расположено, а надо наоборот
Ответить с цитированием
  #4 (permalink)  
Старый 21.08.2022, 15:12
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,071

Signal,
ок, подожду человека который вам ответит, возможно тогда пойму что вы спросили.)))
Ответить с цитированием
  #5 (permalink)  
Старый 21.08.2022, 15:24
Кандидат Javascript-наук
Отправить личное сообщение для Signal Посмотреть профиль Найти все сообщения от Signal
 
Регистрация: 03.05.2016
Сообщений: 137

Сообщение от рони Посмотреть сообщение
Signal,
ок, подожду человека который вам ответит, возможно тогда пойму что вы спросили.)))
ну в тогда так, в 3d моделировании, точка та, которая в 4.42 (чернинькая) должна быть в красненькой точке, т.е. на графике начало координат по оси Y снизу, а на canvase начальноя точка координат сверху, вот и сам вопрос как их трансформировать-то?
Ответить с цитированием
  #6 (permalink)  
Старый 21.08.2022, 15:27
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,071

Signal,
увы мне))) не понимаю ... но на всякий случай ...
<html>
    <head>
        <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
        <script type="text/javascript">
            google.charts.load('current', {'packages':['corechart']});
            google.charts.setOnLoadCallback(drawChart);
            let arr = Array.from({length : 24}, (_, i)=> [i,Math.random() * 2 + 4]);
            const average = arr.reduce((a,b) => a + b[1], 0)/24;
            arr = arr.map( a => [...a, average]);
            function drawChart() {
                var data = google.visualization.arrayToDataTable( [
                    ["data", "test", "average"], ...arr
                ]);

                var options = {
                    title: 'на всякий случай',
                    legend: { position: 'bottom' },
                };

                var chart = new google.visualization.LineChart(document.getElementById('curve_chart'));

                chart.draw(data, options);
            }
        </script>
    </head>
    <body>
        <div id="curve_chart" style="width: 900px; height: 500px"></div>
    </body>
</html>
Ответить с цитированием
  #7 (permalink)  
Старый 21.08.2022, 15:32
Кандидат Javascript-наук
Отправить личное сообщение для Signal Посмотреть профиль Найти все сообщения от Signal
 
Регистрация: 03.05.2016
Сообщений: 137

ты правильно скинул, но там система начальных координат одна, у меня же получается разная, на 180 градусов, как мне посоветовали просто отзеркаль от линии оси, да это проканает, но я хочу сразу сетку координат сделать, чтоб просто математически ее пересчитать
т.е. математически, чтоб как были данные, так они и на графике без отзеркаливания

Последний раз редактировалось Signal, 21.08.2022 в 15:39.
Ответить с цитированием
  #8 (permalink)  
Старый 21.08.2022, 15:40
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,071

Signal,
кто его знает, что тебе надо)))
Ответить с цитированием
  #9 (permalink)  
Старый 21.08.2022, 15:48
Кандидат Javascript-наук
Отправить личное сообщение для Signal Посмотреть профиль Найти все сообщения от Signal
 
Регистрация: 03.05.2016
Сообщений: 137

ну апана, допустим размер canvas 500x300px
точка отсчета с левого верхнего угла, так?
высота 300px
от 0 до 300px
это от 0 до 6.02$
т.е. можно расчитать пропорцией 1$ и сколько это в px будет на графике, так?
только 6.02$ это 0px а 0$ это 300px

Последний раз редактировалось Signal, 21.08.2022 в 16:02.
Ответить с цитированием
  #10 (permalink)  
Старый 21.08.2022, 16:49
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,071

Signal,


может кода чуть-чуть?)))
Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[html run]
... минимальный код страницы с вашей проблемой
[/html]

О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Canvas и javaScript varanika Библиотеки/Тулкиты/Фреймворки 0 29.10.2014 22:20
JavaScript Web Software Engineer, Санкт-Петербург wiktorria Работа 0 13.01.2014 12:37
canvas и javascript jule Общие вопросы Javascript 2 31.12.2013 00:44
Первый Moscow JavaScript Meetup korenyushkin Общие вопросы Javascript 0 26.07.2011 15:23
javascript вставки в vrml сцены. Передать событие из броузера Proletariy Javascript под браузер 0 10.05.2011 12:26