如何从pyplot使用的样式访问颜色?

时间:2019-07-14 12:09:57

标签: python matplotlib

我可以使用{p> 1为pyplot设置颜色样式

import matplotlib.pyplot as plt
plt.style.use('tableau-colorblind10')

并使用

列出可用的颜色样式
plt.style.available

但是我实际上如何从颜色表中访问颜色? plt.style将为绘图设置颜色表,但我希望能够手动选择它们:选择plt.plot使用的第一和第二种颜色。

例如:

import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
from numpy import pi, sin, cos

plt.rcParams['figure.dpi'] = 200

plt.style.use('tableau-colorblind10')

x = np.linspace(0, pi, 100)
sinx = [sin(xi) for xi in x]
cosx = [cos(xi) for xi in x]
sqrx = [xi*xi for xi in x]

plt.plot(x, sinx, label='sinx')
plt.plot(x, cosx, label='cosx')
plt.plot(x, sqrx, color='k', label='sqrx')
plt.legend()

对于tableau-colorblind10图,我想再次使用sqrx中的蓝色代替

enter image description here

2 个答案:

答案 0 :(得分:2)

您可以将循环颜色称为c1,c2等。即 plt.plot(x,sqrx,color ='C1',label ='sqrx')

答案 1 :(得分:1)

尝试:

plt.style.library['tableau-colorblind10']

[Out]:
RcParams({'axes.prop_cycle': cycler('color', ['#006BA4', '#FF800E', '#ABABAB', '#595959', '#5F9ED1', '#C85200', '#898989', '#A2C8EC', '#FFBC79', '#CFCFCF']),
          'patch.facecolor': '#006BA4'})

因此,颜色应为#006BA4,并将其设置为您想要的行:

import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
from numpy import pi, sin, cos

plt.rcParams['figure.dpi'] = 200

plt.style.use('tableau-colorblind10')

x = np.linspace(0, pi, 100)
sinx = [sin(xi) for xi in x]
cosx = [cos(xi) for xi in x]
sqrx = [xi*xi for xi in x]

plt.plot(x, sinx, label='sinx')
plt.plot(x, cosx, label='cosx')
plt.plot(x, sqrx, color='#006BA4', label='sqrx')
plt.legend()

enter image description here