5 / 5 / 0
Регистрация: 25.09.2017
Сообщений: 494
|
|
1 | |
Некорректное построение графиков: matplotlib25.10.2020, 01:15. Показов 3798. Ответов 6
Метки нет (Все метки)
Здравствуйте! Почему в matplotlib график (прямые линии) строятся не совсем от заданных координат по оси абцисс?
Там какие-то смещения и в глаза это бросается резко. Значения все проверены. Всё верно. Как с этим бороться, неужели набивать значения повыше?
0
|
25.10.2020, 01:15 | |
Ответы с готовыми решениями:
6
При построении 2х графиков накладывается ylabel и title в Matplotlib Matplotlib построение изолиний по своим данным Pandas построение графиков Построение графиков функций на языке Python с использованием модуля SymPy Выделение пересечений графиков matplotlib |
5 / 5 / 0
Регистрация: 25.09.2017
Сообщений: 494
|
|
25.10.2020, 01:18 [ТС] | 2 |
И причём, чем толще линия, тем сильнее смещение
0
|
578 / 411 / 68
Регистрация: 09.01.2018
Сообщений: 1,361
|
|
25.10.2020, 12:03 | 3 |
Приведите свой код и данные (хотя-бы часть, которая по вашему мнению рисуется "неверно").
1
|
5 / 5 / 0
Регистрация: 25.09.2017
Сообщений: 494
|
||||||||||||||||
25.10.2020, 14:19 [ТС] | 4 | |||||||||||||||
у меня 2 объекта оси, на одной рисуется вот эта синяя вертикальная линия, на другой графики красным. Для той оси, которая рисует синюю линию заданы границы:
вот код:
Если сделать толщины линий одинаковые, то залезания нет.
0
|
578 / 411 / 68
Регистрация: 09.01.2018
Сообщений: 1,361
|
|
25.10.2020, 17:42 | 5 |
Поставьте параметр linewidth=1, если вам нужна такая графическая точность.
0
|
5 / 5 / 0
Регистрация: 25.09.2017
Сообщений: 494
|
||||||
25.10.2020, 18:07 [ТС] | 6 | |||||
Да, я знаю, что если у линий будет одинаковая толщина, то проблема исчезнет. Но в ином случае, кроме как чуть удлинить или укоротить линии проблему не решить. Пока только такой рецепт, если у линий достаточная длина:
0
|
578 / 411 / 68
Регистрация: 09.01.2018
Сообщений: 1,361
|
|
25.10.2020, 19:29 | 7 |
Понять, что происходит можно, нарисовав scatter-график и там поигравшись с размером точки. Точка всегда рисуется так, что-бы ее центр совпадал с точной координатой, а если вам надо не точка, а кружок - то его центр будет соответствовать данным, а вокруг будет закрашенная область заданного (произвольно) радиуса. И это абсолютно логично при анализе данных.
То-же самое происходит, когда рисуем plot-график. Поэтому вам надо решить, что вам надо. Если надо обязательно точно отрисовывать график - то понятно, что ширина линии должна быть минимальной, т.е. 1 пиксель. И тогда никто никуда не смещается, за линии не заходит и т.д. Если ваша задача сделать красивый график, эстетически грамотно выверив ширину столбиков и пр. с игнорированием точности - ну тогда да, придется изощряться. Но вообще говоря, Matplotlib создан не для этих целей.
0
|
25.10.2020, 19:29 | |
25.10.2020, 19:29 | |
Помогаю со студенческими работами здесь
7
Отрисовка графиков библиотекой matplotlib Matplotlib сетка графиков точечных диаграм по двум столбцам [matplotlib] Разработка программ для построения графиков функции Построение поверхности с matplotlib Построение графика с matplotlib Matplotlib построение изолиний Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |