matplotlib 如何从pyplot使用的样式中访问颜色?[副本]

h7wcgrx3  于 2023-05-01  发布在  其他
关注(0)|答案(2)|浏览(101)

此问题已在此处有答案

Get default line colour cycle(4个答案)
3年前关闭。
我可以使用以下命令设置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图:

eeq64g8w

eeq64g8w1#

您可以将循环颜色称为c1、c2等。例如:

plt.plot(x, sqrx, color='C1', label='sqrx')
2ul0zpep

2ul0zpep2#

尝试:

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()

相关问题