Creating plot for black background presentation slides

I'm successfully using Python and Matplotlib to create transparent PNG figures that look good when I add the plots to a Powerpoint slide that has a white background. Below is an example:

在这里输入图像描述

However, when I use a presentation slide deck that has a black background , the figure does not look as good. The text font and lines are all black, and they blend right into the background.

在这里输入图像描述

Is there a quick and easy way to generate these figures so that they will look good on a black slide? For example, I'd like to quickly make all the lines and text white. I know I can individually set the colors for the title, axis labels, axis values, etc., but is there a "master theme" for quickly making this kind of change?

Here is what my code generally looks like:

_ = plt.bar(hours, series_two, label='One')
_ = plt.bar(hours, series_one, label='Two')
_ = plt.grid()
_ = plt.xticks(range(0,24))
_ = plt.yticks(np.arange(0, 1.01, 0.05))
_ = plt.ylim(0, 1.0)
_ = plt.xlabel('Hour of day')
_ = plt.ylabel('Value')
_ = plt.tight_layout()
_ = plt.title('Experimental results')
_ = plt.legend()
_ = plt.show()

EDIT: I used plt.style.use("dark_background") from the related questions, but the results look terrible. I just want to change the lines and text, not the colors of the bars.

在这里输入图像描述


If the predesigned dark_background style does not match the expectations, one may set the respective rcParams manually. The following might produce the desired plot.

import matplotlib.pyplot as plt

plt.rcParams.update({
    "lines.color": "white",
    "patch.edgecolor": "white",
    "text.color": "black",
    "axes.facecolor": "white",
    "axes.edgecolor": "lightgray",
    "axes.labelcolor": "white",
    "xtick.color": "white",
    "ytick.color": "white",
    "grid.color": "lightgray",
    "figure.facecolor": "black",
    "figure.edgecolor": "black",
    "savefig.facecolor": "black",
    "savefig.edgecolor": "black"})

x = range(1,25)
y = range(60,108)[::-2]
y2 = range(16,40)[::-1]

plt.bar(x, y,  label='One')
plt.bar(x, y2, label='Two')
plt.grid()
plt.xticks(x)

plt.xlabel('Hour of day')
plt.ylabel('Value')
plt.title('Experimental results', color="w")
plt.legend()
plt.tight_layout()
plt.show()

在这里输入图像描述

Note that you would need to set the title color manually, because the default text color is set to black, such that the legend text is black. Else, one could of course do the inverse and set the legend text color manually.

链接地址: http://www.djcxy.com/p/37914.html

上一篇: Rails引擎,调用容器应用程序的本地迁移生成器

下一篇: 创建黑色背景演示文稿幻灯片的情节