簡體   English   中英

Matplotlib - 為黑色背景演示幻燈片創建繪圖

[英]Matplotlib - Creating plot for black background presentation slides

我成功地使用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.style.use("dark_background") ,但結果看起來很糟糕。 我只是想改變線條和文字,而不是條紋的顏色。

在此輸入圖像描述

如果預先設計的dark_background樣式與期望值不匹配,則可以手動設置相應的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()

在此輸入圖像描述

請注意,您需要手動設置標題顏色,因為默認文本顏色設置為黑色,因此圖例文本為黑色。 否則,當然可以進行反向並手動設置圖例文本顏色。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM