Можно ли визуализировать точки, построенные в Python с помощью Matplotlib, в режиме наложения? - PullRequest
0 голосов
/ 11 мая 2018

Я строю серию перекрывающихся точек разных размеров, используя matplotlib в порядке от наибольшего к наименьшему (наименьший сверху), но мне интересно, можно ли настроить точки для рисования, используя смешивание soft lightрежим, так что вы можете видеть сквозь стопки точек без использования альфа-смешивания.

Я загружаю свои данные, используя pandas, а затем строю график, используя функцию построения pandas (которая использует matplotlib), как в этом упрощенном примере:

import pandas as pd
import geopandas as gpd
import matplotlib.pyplot as plt

roads = gpd.read_file('roads.shp')
points = gpd.read_file('points.shp')

f, ax = plt.subplots()

roads.plot(ax=ax, linewidth=.5, color='#2D1B1B', zorder=1)
points.plot(ax=ax, column='color', markersize=size, zorder=2)

plt.axis('equal')
plt.show()

Вот как выглядит сюжет:

(я преувеличил перекрытие)

Solid Color Points


Вот как бы я хотел, чтобыlook:

В этом примере каждая точка смешивается с использованием режима мягкого смешивания света , который позволяет немного «просвечивать» каждую точку без потери насыщенности или добавления прозрачности к точкам, которыеперекрывающийся белый.Это позволяет легко видеть более крупные, более темные цветные круги в середине, не делая более мелкие, более светлые цветные круги на белом фоне труднее, чтобы видеть, как будет смешиваться альфа.

enter image description here


Отличия от альфа-смешивания:

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

enter image description here


Можно ли наносить точки с помощью режима мягкого наложения света в matplotlib?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...