Python 更改matplotlib样式表中的颜色数
我正在使用matplotlib为出版物绘制多个图形,我需要所有图形都具有相同的样式。有些图有6个以上的类别,我注意到,默认情况下,它不会绘制超过6种不同的颜色。7或更多,我开始有重复的颜色 e、 g 不包括6种以上不同颜色可能有认知上的原因,但如果我需要,我该怎么做呢?我尝试过不同的样式表(seaborn、ggplot、classic),但似乎都有相同的“限制” 我需要更改颜色映射/样式表吗?理想情况下,我想使用定性颜色图(我正在绘制的类别中没有顺序)并使用预先存在的颜色图。。。我不太会选颜色Python 更改matplotlib样式表中的颜色数,python,matplotlib,colormap,Python,Matplotlib,Colormap,我正在使用matplotlib为出版物绘制多个图形,我需要所有图形都具有相同的样式。有些图有6个以上的类别,我注意到,默认情况下,它不会绘制超过6种不同的颜色。7或更多,我开始有重复的颜色 e、 g 不包括6种以上不同颜色可能有认知上的原因,但如果我需要,我该怎么做呢?我尝试过不同的样式表(seaborn、ggplot、classic),但似乎都有相同的“限制” 我需要更改颜色映射/样式表吗?理想情况下,我想使用定性颜色图(我正在绘制的类别中没有顺序)并使用预先存在的颜色图。。。我不太会选颜色
谢谢 默认情况下,matplotlib将循环使用一系列六种颜色。如果要更改默认颜色(或颜色数),可以使用来循环使用所需的颜色,而不是默认颜色
from cycler import cycler
% Change the default cycle colors to be red, green, blue, and yellow
plt.rc('axes', prop_cycle=(cycler('color', ['r', 'g', 'b', 'y']))
更好的方法是在创建绘图时手动指定绘图颜色,这样做不是每个绘图都必须使用相同的颜色
plt.plot([1,2,3], 'r')
plt.plot([4,5,6], 'g')
plt.plot([7,8,9], 'b')
plt.plot([10,11,12], 'y')
也可以在创建后更改颜色
h = plt.plot([1,2,3])
h.set_color('r')
这基本上是复制自。检查的文档及其。请注意,传递给cycler()
的颜色列表可以是任意长度,也可以是所支持的任何格式。例如,我在我的matplotlibrc
:循环器(“颜色”、“348ABD、7A68A6、A60628、467821、CF4457、188487、E24A33”)
-蓝色、紫色、红色、绿色、粉色、青绿色、橙色。十六进制颜色可能包括也可能不包括#
散列,可以是逗号分隔的字符串(如我的)或列表。你也可以使用。它很有效!因为我想要一个定性的颜色贴图(jet不是,这是非常不鼓励的),所以我将其更改为matplotlib中可用的定性颜色贴图之一“配对”
h = plt.plot([1,2,3])
h.set_color('r')
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
%matplotlib inline
colors = plt.cm.jet(np.linspace(0, 1, 10))
df2= pd.DataFrame(np.random.rand(10,8))
df2.plot(kind='bar',color=colors, stacked=True)
plt.legend(fontsize=13,loc=1)