在python中如何将颜色放在轴后面?
我试图在Python3中为一个数据科学项目绘制一些图,但我遇到了一个问题,在保存时,轴上的文本后面没有颜色。下面是我的代码和示例图:在python中如何将颜色放在轴后面?,python,matplotlib,Python,Matplotlib,我试图在Python3中为一个数据科学项目绘制一些图,但我遇到了一个问题,在保存时,轴上的文本后面没有颜色。下面是我的代码和示例图: plt.plot(play_num_2019[g], home_prob_2019[g], color = getColor(home_teams_2019[g])) plt.plot(play_num_2019[g], away_prob_2019[g], color = getColor(away_teams_2019[g])) plt.xlabel("Pla
plt.plot(play_num_2019[g], home_prob_2019[g], color = getColor(home_teams_2019[g]))
plt.plot(play_num_2019[g], away_prob_2019[g], color = getColor(away_teams_2019[g]))
plt.xlabel("Play Number")
plt.ylabel("Win Probability")
plt.legend([home_teams_2019[g], away_teams_2019[g]])
fig = plt.figure()
fig.patch.set_facecolor('xkcd:white')
包含存储在matplotlibrc文件中的matplotlib
的打印参数。可以直接在matplotlibrc文件(如上所述)中更改参数,也可以在打印前在代码中更改参数。以下是根据您的要求更改地物背景颜色的示例:
import matplotlib as mpl
import matplotlib.plot as plt
plt.plot(play_num_2019[g], home_prob_2019[g], color = getColor(home_teams_2019[g]))
plt.plot(play_num_2019[g], away_prob_2019[g], color = getColor(away_teams_2019[g]))
plt.xlabel("Play Number")
plt.ylabel("Win Probability")
mpl.rcParams['figure.facecolor'] = 'r' # <--- here is the line for changing the background to red
plt.legend([home_teams_2019[g], away_teams_2019[g]])
fig = plt.figure()
fig.patch.set_facecolor('xkcd:white')
如果要为地物设置facecolor,可以使用
matplotlib.rcParams
全局设置所有地物的facecolcolor,也可以在调用plt.savefig()
中为单个地物指定facecolor。如果要使用fig.patch.set\u facecolor()
设置面颜色,则只需在savefig()
中使用fig.get\u facecolor()
。例如:
导入matplotlib.pyplot作为plt
将numpy作为np导入
x=np.linspace(0,np.pi*4100)
图=plt.图()
平面图(x,np.sin(x))
plt.plot(x,np.cos(np.sin(x)))
图贴片设置面颜色((0.68,0.78,0.91))
plt.savefig('/path/to/output.png',facecolor=fig.get_facecolor())
输出
如果要在绘图区域后面也应用此颜色,则必须在plt.savefig()
中传递transparent=True
,这将为您提供
或者-我更喜欢-你可以这样设置轴面片的alpha
plt.gca().patch.set_alpha(0.7)
等等。这将产生
注意 - 将facecolor设置为
'xkcd:white'
不会有任何效果,因为相应的RGB值是(1.0,1.0,1.0)
-与默认的facecolor相同。如果发布的答案中有一个回答了您的问题,请确保将问题标记为这样,以供将来的用户使用。
mpl.rcParams['savefig.facecolor'] = 'r'