Python Matplotlib:在十六进制颜色列表中循环不起作用。Matplotlib仍然使用默认颜色
我正在编写一个类来快速绘制我必须定期处理的某些数据。我希望有机会将一个hexvalue列表传递给该方法,以便我可以根据需要更改颜色。但不知何故,我的代码(见下文)不起作用,因为它没有像预期的那样通过for循环中的colirs[i]在列表中循环Python Matplotlib:在十六进制颜色列表中循环不起作用。Matplotlib仍然使用默认颜色,python,list,matplotlib,plot,colors,Python,List,Matplotlib,Plot,Colors,我正在编写一个类来快速绘制我必须定期处理的某些数据。我希望有机会将一个hexvalue列表传递给该方法,以便我可以根据需要更改颜色。但不知何故,我的代码(见下文)不起作用,因为它没有像预期的那样通过for循环中的colirs[i]在列表中循环 import pandas as pd import matplotlib as mpl import matplotlib.pyplot as plt from matplotlib.ticker import AutoMinorLocator, For
import pandas as pd
import matplotlib as mpl
import matplotlib.pyplot as plt
from matplotlib.ticker import AutoMinorLocator, FormatStrFormatter
import numpy as np
import os, sys
from pylab import *
COLORS=['#1f77b4' , '#ff7f0e' , '#2ca02c' , '#d62728' , '#9467bd' , '#8c564b' , '#e377c2' , '#7f7f7f' , '#bcbd22' , '#17becf']
color=COLORS
fig = plt.figure(figsize=(6.29921,4),dpi=150)
ax = fig.add_subplot(111)
df = pd.DataFrame(np.random.randint(0,100,size=(100, 4)), columns=list('ABCD'))
Column_names=list(df.columns)
print (Column_names)
for (col,i) in zip(Column_names[1:],range(1,len(Column_names))): # for now "
print(color[i])
ax.plot(df["A"],df[col],linewidth=0.8,label=col, marker='o',markersize=2.5,color=color[i])# Why does this not work to cycle the color?
ax.legend(loc='center left', bbox_to_anchor=(1, 0.5),borderaxespad=0, frameon=False)
#
plt.show()
我猜它没有通过十六进制值的qotation标记
编辑:
我添加了我的输出的图片:
我看不出问题所在。您得到的颜色正是您在列表中指定的颜色。你可以添加一个不需要的输出的图像,并用它来解释它有什么问题吗?我上传了一张输出的图片。我希望得到我通过“colors”指定的颜色,但我得到的是标准的python颜色。我上面指定的颜色列表是tghe“tab10”颜色的十六进制值,顺便说一句,但这些颜色是您指定的颜色。“代码”B是“代码”B是“代码”C是“代码”B是“代码”B是“代码”B是“代码”B是“代码”B是“代码”B是“代码”D是“代码”D是“代码”D是“代码”D是“代码”D是“代码”D是“代码”D是“代码”D是“代码”D是“代码”D是“代码”D是“代码”D是“代码”是“D622728”的。但若若“代码”是“代码”D622728“代码”但若若颜色”是<代码>颜色是“代码”是“代码”的话。但若若若若若若若若若若若若颜色是<代码>颜色=[颜色=[代码>颜色=[若<代码>颜色=[若若若若若若”颜色=[若若若若若”颜色=[若若他们是“颜色=”””””[[[[[[[[代码>颜色=”””””””指定脚本的untop不应
color[i]
在循环中选择“1f77b4”#ff7f0e“..”?i
从1开始。