我在matplotlib
中使用Spyder
来绘制正弦和余弦。当我运行此代码
import matplotlib.pyplot as plt
import numpy as np
x1 = np.arange(0,4*np.pi,0.1) # start,stop,step
y1 = np.sin(x1)
z1 = np.cos(x1)
plt.plot(x1,y1, z1)
plt.show()
我得到这个情节。
我不喜欢我在上面的绘图中看到的默认绘图颜色。但是,我想用漂亮的颜色来更改它们。我用plt.style.use('classic')
进行了以下尝试
import matplotlib.pyplot as plt
import numpy as np
plt.style.use('classic')
x1 = np.arange(0,4*np.pi,0.1) # start,stop,step
y1 = np.sin(x1)
z1 = np.cos(x1)
plt.plot(x1,y1, z1)
plt.show()
但是正如您所看到的那样,这似乎再次在墙外添加了灰色背景,此外,它似乎缩小了绘图线的空间以接触X轴,这似乎有些奇怪。
在matplotlib
中,有没有任何优雅的方法可以在情节外没有灰色背景并且不缩小空间?
答案 0 :(得分:1)
当matplotlib升级到版本2时,有很多更改。在升级之前,将plt.style.use('classic')
更改为默认值。例如背景颜色的更改以及默认的x和y轴边距的添加,可以在问题的两个图中看到。
matplotlib版本2及更高版本中的颜色循环也已更改。阅读documentation会向您展示如何在不影响其他参数(例如背景色)的情况下改回颜色循环:
import matplotlib as mpl
from cycler import cycler
mpl.rcParams['axes.prop_cycle'] = cycler(color='bgrcmyk')
您的代码如下:
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
from cycler import cycler
mpl.rcParams['axes.prop_cycle'] = cycler(color='bgrcmyk')
x1 = np.arange(0,4*np.pi,0.1) # start,stop,step
y1 = np.sin(x1)
z1 = np.cos(x1)
plt.plot(x1,y1, z1)
plt.show()
答案 1 :(得分:0)
import matplotlib.pyplot as plt
import numpy as np
x1 = np.arange(0,4*np.pi,0.1) # start,stop,step
y1 = np.sin(x1)
z1 = np.cos(x1)
plt.plot(x1,y1,'blue')
plt.plot(x1,z1,'red')
plt.show()
请注意,您不必在一个绘图中进行所有操作-您可以plot
多次,并且它们都可以与show
同时显示