So, I've been messing around with matplotlib and found out this. If I plot different symbols atop each other with alpha less than 1:
kwdict_plot={
'marker':'o',
'markersize':70,
'alpha':0.6,
'markeredgewidth':0,
}
fig, ax = plt.subplots(1,2, figsize=(6,3))
ax[0].plot([ sqrt(3/4)],[-0.5], color='r', **kwdict_plot)
ax[0].plot([ 0],[ 1 ], color='g', **kwdict_plot)
ax[0].plot([-sqrt(3/4)],[-0.5], color='b', **kwdict_plot)
ax[0].set_xlim([-3,3])
ax[0].set_ylim([-3,3])
ax[0].set_aspect('equal')
ax[0].set_title('r->g->b')
ax[1].plot([-sqrt(3/4)],[-0.5], color='b', **kwdict_plot)
ax[1].plot([ 0],[ 1 ], color='g', **kwdict_plot)
ax[1].plot([ sqrt(3/4)],[-0.5], color='r', **kwdict_plot)
ax[1].set_xlim([-3,3])
ax[1].set_ylim([-3,3])
ax[1].set_aspect('equal')
ax[1].set_title('b->g->r')
fig.tight_layout()
Then the final color seems to be affected by the order with which symbols are drawn.
I always believed that alpha channel represents the transparency that it would act as an multiplicative operation on the spectrum it transmits. Just like simulating the cellophane papers or colored filters with different colors. Apparently this seems not the case in matplotlib.
So, how does it work actually? And how can I get the colors mixed symmetrically?
