如何在matplotlib中更改散点图的背景色

4
如何在matplotlib中更改散点图的背景颜色?

目前我有:

import matplotlib.pyplot as plt
plt.scatter(X, Y, c=T, marker='o', s=(0.005*r), linewidth=0, cmap=cm.coolwarm)
plt.scatter(X_stars, Y_stars, marker='o', s=(0.00000005*r), color='white')

plt.savefig(filename, format='ps')

我希望背景是黑色而不是白色。我已经将facecoloredgecolor更改为黑色,但没有达到预期的效果。设置transparent=True会使其透明,以便我可以在Photoshop中更改背景,但必须在matplotlib中工作,因为我有大量的图表。


如果您想使用状态机接口,则可以在调用plt.scatter之后添加plt.gca().set_axis_bgcolor('black') - sodd
1个回答

10

编辑:如评论中endolith所述,axisbg在matplotlib 2.0版本中已被弃用。请改用facecolor。

ax = fig.add_subplot(111, facecolor='black')

您可以使用add_subplot方法的axisbg参数。这是一个小例子:
import matplotlib.pyplot as plt

a = random(100)*10
b = range(100)
fig = plt.figure(1)
ax = fig.add_subplot(111, axisbg='black')
ax.scatter(a,b)
fig.canvas.draw()

1
现在它被称为“facecolor”。 - endolith

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接