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下一篇: 创建黑色背景演示文稿幻灯片的情节