Tom*_*gal 6 python plot matplotlib
我在matplotlibrc文件的axes.color_cycle中设置了以下颜色.当我绘制线条和步骤时,它工作正常.但是当我使用它来绘制带有axvline的垂直线时,它不会使用设置的颜色,如图所示:
它使用matplotlib的默认颜色.如何让axvline继续颜色循环?
可重现的代码
import numpy as np
import matplotlib.pyplot as plt
import itertools
m = 5
n = 5
x = np.zeros(shape=(m, n))
plt.figure(figsize=(5.15, 5.15))
plt.clf()
plt.subplot(111)
marker = itertools.cycle(('o', 'v', '^', '<', '>', 's', '8', 'p'))
ax = plt.gca()
for i in range(1, n):
x = np.dot(i, [1, 1.1, 1.2, 1.3])
y = x ** 2
color = next(ax._get_lines.color_cycle)
plt.plot(x, y, linestyle='', markeredgecolor='none', marker=marker.next(), color=color, label = str(i))
plt.plot(x, y, linestyle='-', color = color)
plt.axvline(2.)
plt.axvline(3.)
plt.axhline(4.)
plt.axhline(6.)
plt.ylabel(r'y', labelpad=6)
plt.xlabel(r'x', labelpad=6)
plt.show()
Run Code Online (Sandbox Code Playgroud)
您也可以为垂直线指定颜色:
vline_color = next(ax._get_lines.color_cycle)
plt.axvline(2., color = vline_color)
Run Code Online (Sandbox Code Playgroud)