Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python中如何将颜色放在轴后面?_Python_Matplotlib - Fatal编程技术网

在python中如何将颜色放在轴后面?

在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

我试图在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("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'