Ответ 1
Теперь есть раздел документации, описывающий как работает сопоставление цветов и нормализация (это ссылка на документацию по разработке, но применяется к все версии mpl. В ближайшее время это будет в документации на главную страницу.
Способ отображения matplotlib
выполняется в два этапа: сначала функция Normalize
(завершена подклассами matplotlib.colors.Normalize
), которая отображает данные, которые вы вставляете в [0, 1]
. Второй шаг отображает значения в пространстве [0,1]
→ RGBA.
Вам просто нужно использовать класс нормализации LogNorm
, переданный с norm
kwarg.
plt.scatter(x,y,edgecolors='none',s=marker_size,c=void_fraction,
norm=matplotlib.colors.LogNorm())
Если вы хотите масштабировать/настраивать данные для построения графика, лучше matplotlib
сделать преобразования, чем делать это самостоятельно.