Получите DPI для фигуры PyPlotPython

Программы на Python
Anonymous
Получите DPI для фигуры PyPlot

Сообщение Anonymous »

По крайней мере, в Spyder графики PyPlot могут иметь низкое разрешение, например:

Код: Выделить всё

import numpy as np
import matplotlib.pyplot as plt
# import seaborn as sns
rng = np.random.default_rng(1)
scat = plt.scatter( *rng.integers( 10, size=(2,10) ) )
Просмотр веб-сайтов привел меня к предложенному решению: увеличить количество точек на дюйм.

Код: Выделить всё

plt.rcParams['figure.dpi']=300
Серфинг показывает, что значение по умолчанию — 100.
После долгих экспериментов, есть ли способ «получить» DPI из отображаемого объекта, например, scat выше? Кажется, scat.dpi, scat.getdpi или scat.get_dpi .
Примечание: Спасибо BigBen за указание на объектно-ориентированный интерфейс. Перед фактическим построением данных требуется определение фигуры и осей. Его шаблоны кода, кажется, возвращают DPI, но в Spyder отображаемый рисунок не обновляется с помощью построенных данных.
Изображение

Просмотр веб-страниц показывает, что «встроенные» графики в Spyder являются статическими. Я не был полностью уверен, что это было причиной, поскольку графики в окне «Графики» не являются встроенными (верхняя половина изображения выше), но они также не отображают построенные данные. В конце концов я обнаружил, что следующие настройки позволяют решению BigBen работать: Инструменты -> Настройки -> Консоль IPython -> Графика -> Графический интерфейс -> Автоматически. Для фигуры и осей открывается отдельное окно, если оно определено исходным кодом, и оно обновляется графиком данных при вызове scatter.

Подробнее здесь: https://stackoverflow.com/questions/786 ... lot-figure

Вернуться в «Python»