datamin и datamax в Viewer () не работали - PullRequest
0 голосов
/ 20 октября 2019

Я использовал приведенный выше код в фипах, но диапазон цветовой шкалы всегда не менялся (всегда показывал [-1,1]). Моя версия Python 3.6.7 и matlablib 3.1.1.

#create a viewer to see the results
    if __name__ == '__main__':
        viewer = Viewer(vars=psi, datamin=-0.01, datamax=0)
        viewer.plot()

Я попробовал следующее: 1, я изменил код в "C: \ Users \ Lenovo \ fipy \ examples \ diffusion", дляНапример, изменилось «datamin = -0.01, datamax = 0». это не работа2, непосредственно используется "MatplotlibViewer". это не работа3, используется «GnuplotViewer». Не удается установить в Python.

1 Ответ

1 голос
/ 21 октября 2019

В настоящее время существует ошибка в FiPy, из-за которой значения datamin и datamax не используются при визуализации цветовой шкалы для 2D-графиков. Проблема описана здесь и здесь . Однако существует обходной путь.

В этом примере отображается график, который должен иметь три ячейки с максимальным значением выше 3, но обрезается до 3.

from fipy import Grid2D, CellVariable, Viewer
from fipy.viewers.matplotlibViewer.matplotlibViewer import _ColorBar

m = Grid2D(nx=3, ny=3)

v = CellVariable(mesh=m)
v[:] = m.x * m.y

vi = Viewer(v, colorbar=None, datamin=0.0, datamax=3.0)
vi.colorbar = _ColorBar(viewer=vi, vmin=0.0, vmax=3.0)

vi.plot()

input('stopped')

Необходимо использоватьdatamin и datamax аргументы и установите для аргумента colorbar значение None, а затем добавьте цветовую панель с правильными значениями vmin и vmax, так как они не установлены правильно в FiPy.

...