Стоп matplotlib Трехмерный участок поверхности от обрезки осей

Я пишу фрагмент кода, который моделирует взаимодействие атома в электрических и магнитных полях. Часть этого требует от меня создания трехмерных графиков потенциалов взаимодействия на заданной высоте. Полный код для создания этих участков очень длинный и разделен на несколько модулей, однако соответствующая часть графика:

# Function to plot 'PlotValues' at a height 'z'
def Plot_AtHeight(self, PlotValues, z=500, ReturnFig=False, ShowTime=False):

    # Calls out to the relevant function to calculate the values and return
    # these as an array
    PlotArray = self.Get_AtHeight(PlotValues, z)

    pylab.rcParams.update( \
        {'axes.labelsize': 18,
         'text.fontsize': 18,
         'xtick.labelsize': 18,
         'ytick.labelsize': 18
         })

    fig = pylab.figure()
    ax = Axes3D(fig)

    # Make the arrays of the points at which the values are calculated
    X, Y = np.mgrid[Xmin:Xmax:complex(0,Xpoints),
                   Ymin:Ymax:complex(0,Ypoints)]

    ax.plot_surface(X, Y, PlotArray, cmap=cm.jet)

    ax.set_xlabel('Position, x (nm)')
    ax.set_ylabel('Position, y (nm)')

    if PlotValues   == 'B':           ax.set_zlabel('Field Strength (G)',         fontsize=18)
    elif PlotValues == 'E':           ax.set_zlabel('Field Strength (V/m)',       fontsize=18)
    elif PlotValues == 'U_Stark':     ax.set_zlabel('Stark Interaction (J)',      fontsize=18)
    elif PlotValues == 'U_Zeeman':    ax.set_zlabel('Zeeman Interaction (J)',     fontsize=18)
    elif PlotValues == 'U':           ax.set_zlabel('Interaction Potential (J)',  fontsize=18)
    elif PlotValues == 'U_Stark_mK':  ax.set_zlabel('Stark Interaction (mK)',     fontsize=18)
    elif PlotValues == 'U_Zeeman_mK': ax.set_zlabel('Zeeman Interaction (mK)',    fontsize=18)
    elif PlotValues == 'U_mK':        ax.set_zlabel('Interaction Potential (mK)', fontsize=18)

    # If we are not in a time averaged environment then display the current
    # time (in ns) as the title to 1 decimal place.
    if not self.TimeAveraged and ShowTime:
        TimeStr = str(time*10**9)
        try:
            TimeTo1dp = '.'.join([TimeStr.split('.')[0], TimeStr.split('.')[1][0]])
        except:
            TimeTo1dp = TimeStr
        ax.set_title("t = %sns" % TimeTo1dp, fontsize=18)

    if not ReturnFig: pylab.show()
    elif ReturnFig: return fig 

Примером графиков этой прибыли является:

one of the plots created

Вы можете видеть, что метки и тики оси немного беспорядочны. В частности, я надеялся, что кто-то может знать, как остановить отрезание изображения внизу (т. Е. Чтобы все 1000 были ясны). У меня есть эта проблема на множестве углов, когда-то метка оси отключена, иногда тики, но по существу окно python открывается, чтобы просмотреть и сохранить сюжет не кажется достаточно большим, а расширение его масштабирует все изображение, чтобы метки/тики все еще обрезаны.

Любая помощь будет оценена и, пожалуйста, не упоминайте сокращение шрифтов или удаление ярлыков, поскольку это входит в отчет, и поэтому они исправлены.

Благодарю.

4

1 ответы

Вы можете установить «расстояние» к вашему сюжету, например,

ax.dist = 13

4
добавлено
Python
Python
7 654 участник(ов)

Уютный чат для профессионалов, занимающихся поиском питоньих мудростей. Как не получить бан: https://t.me/ru_python/577926

Python beginners
Python beginners
4 449 участник(ов)

Вопросы про Python для чайников. Cпам и троллинг неприемлем. Не злоупотребляйте стикерами. Частозадаваемые вопросы: https://github.com/ru-python-beginners/faq/blob/master/README.md Статистика тут: https://grstats.me/chat/x4qym2k5uvfkr3al6at7

pro.python
pro.python
1 090 участник(ов)

Сообщество разработчиков под Python Создатель: @rodgelius

Rude Python
Rude Python
971 участник(ов)

Python без „девочек”, здесь матерятся и унижают Django. Not gay friendly. Правила: t.me/rudepython/114107 @rudepython | t.me/rudepython

rupython
rupython
509 участник(ов)

Группа создана с целью оперативного получения ответов на возникающие вопросы по разработке на яп python, смежные темы, а также человеческого общения. Приветствую!

Python-programming
Python-programming
266 участник(ов)

Чат группы вконтакте https://vk.com/python_community