matplotlib: добавление отступов / смещений в метки галочек полярных графиков
есть ли способ увеличить заполнение / смещение меток тиков полярного графика (тета)?
import matplotlib
import numpy as np
from matplotlib.pyplot import figure, show, grid
# make a square figure
fig = figure(figsize=(2, 2))
ax = fig.add_axes([0.1, 0.1, 0.8, 0.8], polar=True, axisbg='#d5de9c')
ax.set_yticklabels([])
r = np.arange(0, 3.0, 0.01)
theta = 2*np.pi*r
ax.plot(theta, r, color='#ee8d18', lw=3)
ax.set_rmax(2.0)
show()
Я бы хотел, чтобы метки тета-тиков были дальше от Полярного графика, чтобы они не перекрывались.
1 ответов
прежде всего; видя, как вы указали figsize
быть (2,2) и имея ax
занимают 80 % от ширины и высоты, у вас есть мало пространство осталось, чтобы заполнить ticklabels. Это может привести к ticklabels быть "отрезаны" на краях фигуры. Это может быть легко "исправлено" либо
- указание больше
figsize
- сделать
ax
занимают меньше места на фигуре (2,2) размера - использовать меньший размер шрифта для ticklabels
или любая комбинация из них. Другое, на мой взгляд, лучшее решение этой "проблемы" - использовать подзаголовок, а не указывать Axes
с границами;
ax = fig.add_subplot(111, polar=True, axisbg='#d5de9c')
как это позволяет использовать метод tight_layout()
который автоматически настраивает макет фигуры, чтобы красиво включать все элементы.
затем к реальной проблеме под рукой; обивка. На PolarAxes
вы можете установить, среди прочего, радиальное размещение тета-клещей. Это делается путем указания доли радиуса полярных осей, где вы хотите, чтобы метки ticklabels были помещены в качестве аргумента