Matplotlib: цикл по списку шестнадцатеричных цветов не работает. Matplotlib по-прежнему использует цвета по умолчанию - PullRequest
0 голосов
/ 30 октября 2019

Я пишу класс для быстрого построения определенных данных, с которыми мне приходится иметь дело на регулярной основе. Я хочу иметь возможность передавать список шестнадцатеричных значений методу, так что я могу изменить цвета, если захочу. Но почему-то мой код (см. Ниже) не работает, так как он не проходит по списку, как ожидалось, через colirs [i] в ​​цикле 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()

Я предполагаю, что он не проходит кавычкишестнадцатеричные значения?

РЕДАКТИРОВАТЬ:

Я добавляю картинку моего вывода:

MY Output

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...