python 画线条进行到指定区域更改颜色,使用Colormaps在matplotlib中设置线条的颜色...

线条样式,标记和定性颜色的组合,来自matplotlib:

import itertools

import matplotlib as mpl

import matplotlib.pyplot as plt

N = 8*4+10

l_styles = ['-','--','-.',':']

m_styles = ['','.','o','^','*']

colormap = mpl.cm.Dark2.colors   # Qualitative colormap

for i,(marker,linestyle,color) in zip(range(N),itertools.product(m_styles,l_styles, colormap)):

plt.plot([0,1,2],[0,2*i,2*i], color=color, linestyle=linestyle,marker=marker,label=i)

plt.legend(bbox_to_anchor=(1.05, 1), loc=2, borderaxespad=0.,ncol=4);

更新:不仅支持ListedColormap,还支持LinearSegmentedColormap

import itertools

import matplotlib.pyplot as plt

Ncolors = 8

#colormap = plt.cm.Dark2# ListedColormap

colormap = plt.cm.viridis# LinearSegmentedColormap

Ncolors = min(colormap.N,Ncolors)

mapcolors = [colormap(int(x*colormap.N/Ncolors)) for x in range(Ncolors)]

N = Ncolors*4+10

l_styles = ['-','--','-.',':']

m_styles = ['','.','o','^','*']

fig,ax = plt.subplots(gridspec_kw=dict(right=0.6))

for i,(marker,linestyle,color) in zip(range(N),itertools.product(m_styles,l_styles, mapcolors)):

ax.plot([0,1,2],[0,2*i,2*i], color=color, linestyle=linestyle,marker=marker,label=i)

ax.legend(bbox_to_anchor=(1.05, 1), loc=2, borderaxespad=0.,ncol=3,prop={'size': 8})

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值