如何在Python中为图形使用多种背景颜色?

时间:2016-07-12 18:25:41

标签: python background-color figure subfigure

我只想使用子图(例如

)绘制几个数据集,比如4
fig = figure(1)
ax1 = fig.add_subplot(221)
ax2 = fig.add_subplot(222)
ax3 = fig.add_subplot(223)
ax4 = fig.add_subplot(224)

这很好用。但另外我想为第一行中的两个子图和第二行中的两个子图设置不同的背景颜色,使得图的背景的上半部分为黑色而下半部分为白色。 谁能告诉我怎么做?

嗯,我到目前为止尝试的是定义两个数字,一个用黑色,另一个用白色背景,将前两个子图添加到图1,其他图添加到图2.最后我合并了两个数字到PDF,但结果并不令人满意,因为PDF文件是一团糟,这两个数字实际上看起来像两个不同的但不像一个数字。

此外,我尝试了类似

的内容
fig = figure(1) 
rect = fig.patch
rect.set_facecolor('black')
ax1 = fig.add_subplot(221)
ax2 = fig.add_subplot(222)
rect = fig.patch
rect.set_facecolor('white')
ax3 = fig.add_subplot(223)
ax4 = fig.add_subplot(224)

但显然它不能像这样工作。然后我尝试使用matplotlib.patches为每个子图创建一个矩形作为背景,这似乎也不合适。

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题并提出了以下解决方案:

zorder

请注意,您必须明确设置matplotlib.patches,否则补丁位于子图的前面。结果如下:

Resulting figure with two different background colors 这种方法仍然依赖于contents = encodings.each do |e| s = IO.read( f, "r:#{e}" ) s.valid_encoding? and break s end ,因此可能不是您正在寻找的干净方法,但我认为这可能对其他有这个问题的人有用。

有关操纵图形本身的更多信息,请访问:https://basarat.gitbooks.io/typescript/content/docs/quick/nodejs.html