【发布时间】:2015-03-12 21:06:23
【问题描述】:
以下代码:
# in ipython notebook, enable inline plotting with:
# %pylab inline --no-import-all
import matplotlib.pyplot as plt
# create some circles
circle1 = plt.Circle((-.5,0), 1, color='r', alpha=.2)
circle2 = plt.Circle(( .5,0), 1, color='b', alpha=.2)
# add them to the plot (bad form to use ;, but saving space)
# and control the display a bit
ax = plt.gca()
ax.add_artist(circle1); ax.add_artist(circle2)
ax.set_xlim(-2, 2); ax.set_ylim(-2, 2)
ax.set_aspect('equal')
# display it
plt.plot()
产生以下情节:
我想指定四个区域的颜色 (1) 背景(当前为白色),(2 和 3)每个单独的事件(非重叠区域,当前为蓝色和红色),以及 (4)交叉点事件(当前混合为紫色)。例如,我可以将它们着色为红色、绿色、蓝色、黄色——或者——我可以给它们四个不同的、精确指定的灰度值(后者更有可能)。 [颜色将根据基础数据的特征生成。]
我特别不想使用 alpha 混合来“推断”交点中的颜色。我需要明确控制所有四个区域的颜色。
我可以想出几个策略来解决这个问题:
- 让 mpl 提取构成三个不同颜色图形区域的“原始”补丁对象(并执行类似的操作以对背景进行操作),然后为它们着色。
- 给定圆,手动计算它们的交点并为该交点着色(不知何故)。逐点进行似乎很难看。
谢谢!
【问题讨论】:
标签: matplotlib