Matplotlib更改标记边框颜色和自定义标记样式

时间:2015-06-15 09:25:49

标签: python python-2.7 matplotlib markers

我正在尝试使用颜色列表中的颜色在Matplotlib中绘制散点图。代码在这里:

import pandas as pd
import matplotlib.pyplot as plt
from matplotlib.lines import Line2D
import numpy as np
from pylab import *
from random import shuffle
rcParams['legend.numpoints'] = 1

df = pd.DataFrame(np.random.rand(10,28),columns=list('ABCDEFGHIJKLMNOPQRSTUVWXYZab'))

markers = []
for m in Line2D.markers:
    try:
        if len(m) == 1 and m != ' ':
            markers.append(m)
    except TypeError:
        pass
cust = [r'$\lambda$',r'$\bowtie$',r'$\circlearrowleft$',r'$\clubsuit$',r'$\checkmark$',r'$\spadesuit$']
styles = markers + cust
shuffle(styles)

color=['magenta','blue','green','none','brown','red']

for i,column in enumerate(df.iloc[:,1:7]):
    plt.plot(df['A'], df.iloc[:,i], linestyle='None', marker=styles[i], markersize=10, label=column, mfc=color[i], markeredgewidth=1.5)
plt.legend()
plt.show()

输出附在此处。enter image description here

问题是图例中的颜色顺序与列表中颜色的顺序不同。

我期待以下颜色顺序: - 洋红色,蓝色,绿色,无,棕色,红色

问题:

  1. 图中颜色的顺序与我指定的不一样 在列表中。是否可以修复代码以便颜色 以相同的顺序? (注意:如果标记没有面,那么我希望标记边缘具有列表中的颜色)
  2. 从自定义标记列表cust = [r'$\lambda$',r'$\bowtie$',r'$\circlearrowleft$',r'$\clubsuit$',r'$\checkmark$',r'$\spadesuit$'],是否有更多与此类似的选项?即,如何查看类似标记的列表?
  3. 修改 这是通过注释标记样式列表得到的结果[即我评论了这一行:shuffle(styles)]enter image description here

0 个答案:

没有答案