Я строю серию перекрывающихся точек разных размеров, используя 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](https://i.stack.imgur.com/byDyQ.jpg)
Вот как бы я хотел, чтобыlook:
В этом примере каждая точка смешивается с использованием режима мягкого смешивания света , который позволяет немного «просвечивать» каждую точку без потери насыщенности или добавления прозрачности к точкам, которыеперекрывающийся белый.Это позволяет легко видеть более крупные, более темные цветные круги в середине, не делая более мелкие, более светлые цветные круги на белом фоне труднее, чтобы видеть, как будет смешиваться альфа.
![enter image description here](https://i.stack.imgur.com/WB71M.jpg)
Отличия от альфа-смешивания:
Самый распространенный метод смешивания перекрывающихся точек, как это, состоит в том, чтобы просто сделать ихпрозрачный, так что точки наложения в сумме дают более интенсивный цвет, но хотя это желательно для визуализации плотности, в этом контексте это не имеет смысла и выглядит размытым и плохим:
![enter image description here](https://i.stack.imgur.com/xksMJ.png)
Можно ли наносить точки с помощью режима мягкого наложения света в matplotlib
?