У меня есть цветовая карта слева от графика (сама по себе это была серьезная проблема, кажется, что только правая и верхняя части поддерживаются нормально) без границ или галочек.
Когда это рендеринг, он имеет то, что похоже на маленькую тень.Похоже, что это основано на цвете середины цветной полосы, и оно меняет положение в зависимости от толщины полосы и становится невидимым, если толщина полосы превышает несколько мм.
Пример кода:
from mpl_toolkits.axes_grid1 import make_axes_locatable
fig1 = plt.figure()
ax = fig1.subplots()
#Gradient bar
divider = make_axes_locatable(ax)
cax = divider.append_axes("left", size=0.1, pad=0.5)
X = [[.6, .6], [.7, .7]]
im = cax.imshow(X, interpolation='bicubic', aspect='auto')
cb = fig1.colorbar(im, cax=cax, orientation='vertical')
cb.outline.set_visible(False)
for position, spine in cax.spines.items():
spine.set_visible(False)
cax.get_xaxis().set_ticks([])
cax.get_yaxis().set_ticks([])
plt.tight_layout()
plt.show()
#from io import BytesIO
#f = BytesIO()
#plt.savefig(f, format="svg")
#import xml.etree.cElementTree as ET
#tree, xmlid = ET.XMLID(f.getvalue())
#fn = "DebugTest" + ".svg"
#ET.ElementTree(tree).write(fn)
Я включил выходной код svg, поскольку его можно просматривать в средстве просмотра изображений или в браузере, который позволяет изменять масштаб.
Эффект также зависит отразрешение и размер окна дисплея.
Это какой-то артефакт рендеринга?Как я могу избавиться от этого?
image: top of bar
В моем реальном проекте я встраиваю svgs в html и pdf документы и в те тенине выглядит как пиксельный артефакт, вы можете увеличивать его в большом размере, и это становится очень очевидным:
изображение: увеличенное изображение pdf