我成功地使用Python和Matplotlib创建透明的PNG图形,当我将图形添加到白色背景的Powerpoint幻灯片时,这些图形看起来不错。下面是一个例子:
但是,当我使用黑色背景的演示幻灯片组时,图形看起来不太好。文本字体和线条都是黑色的,它们正好融入背景。
有没有一种快速简单的方法来生成这些数字,以便它们在黑色幻灯片上看起来很好?例如,我想快速地将所有的线条和文本变成白色。我知道我可以单独设置标题、轴标签、轴值等的颜色。,但是有没有一个“主主题”可以快速做出这种改变?
下面是我的代码通常的样子:
_ = 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()
编辑:我使用了plt。风格使用相关问题中的(“深色背景”)
,但结果看起来很糟糕。我只想改变线条和文字,而不是条的颜色。
如果预先设计的深色背景
样式与预期不匹配,可以手动设置相应的rcParams。以下内容可能会生成所需的绘图。
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()
请注意,您需要手动设置标题颜色,因为默认文本颜色设置为黑色,因此图例文本为黑色。除此之外,当然可以做相反的操作,并手动设置图例文本的颜色。