如何更改 matplotlib - spyder 中的默认绘图颜色?
How to change the default plotting color in matplotlib - spyder?
我在 Spyder
中使用 matplotlib
进行正弦和余弦的简单绘图。当我 运行 这个代码
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()
但这似乎又在墙外添加了灰色背景,如您所见,此外,它似乎缩小了绘图线的 space 以接触 X 轴,这似乎有点奇怪的。
在 matplotlib
中是否有任何优雅的方法可以做到这一点,而不会在图外出现灰色背景并且不会缩小 space?
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()
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
我在 Spyder
中使用 matplotlib
进行正弦和余弦的简单绘图。当我 运行 这个代码
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()
但这似乎又在墙外添加了灰色背景,如您所见,此外,它似乎缩小了绘图线的 space 以接触 X 轴,这似乎有点奇怪的。
在 matplotlib
中是否有任何优雅的方法可以做到这一点,而不会在图外出现灰色背景并且不会缩小 space?
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()
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