Ran*_*son 45 python matplotlib
matplotlib中使用的默认颜色(例如:http://matplotlib.org/examples/pylab_examples/pie_demo.html)有点简单和丑陋.我还注意到,如果你在一个图中绘制超过5-6个不同的系列,matplotlib开始重复颜色.
我已经看到一些华丽的图形来自其他可视化软件包(在其他语言中,默认情况下),可以有5-6个不同的系列,只有一种颜色以不同的色调覆盖.有没有人有一个很好的颜色设置在matplotlib中使用?还有一种方法可以让matplotlib默认使用它吗?
gca*_*tes 56
您可以使用Matplotlib的样式表.它已从mpltools库中移植,该库具有重新定义matplotlib rc参数的样式模块.
例如,请参阅ggplot样式和Matplotlib手册的使用.

wom*_*ire 28
这个问题是2年前提出来的,今天为你的情节获得更好的风格要容易得多.你甚至不需要外部包.正如@asmaier在评论中提到的,mpltools.style功能已集成到Matplotlib 1.4中,因此您可以使用以下方式切换样式:
plt.style.use(style_name)
Run Code Online (Sandbox Code Playgroud)
例如:
import matplotlib.pyplot as plt
import numpy as np
plt.style.use('ggplot')
num_lines = 6
ax = plt.subplot(111)
for i in range(num_lines):
x = np.linspace(0,20,200)
ax.plot(x,np.sin(x)+i)
plt.show()
Run Code Online (Sandbox Code Playgroud)
您可以列出所有可用的样式:
print plt.style.available
Run Code Online (Sandbox Code Playgroud)
在Matplotlib 1.5中添加了几种新样式,包括Seaborn项目中的许多样式:
plt.style.use('seaborn-dark-palette')
Run Code Online (Sandbox Code Playgroud)
Mar*_*P S 25
看看prettyplotlib图书馆 - 最近刚刚由朋友指出 - 修改matplotlib以更好地与Edward Tufte的想法保持一致,以及Cynthia Brewer对色彩感知的一些非常仔细研究的工作.
Dan*_*ein 14
该Seaborn包(按Matplotlib)具有良好的默认的图形样式,以及我发现,这是创建一个吸引人的颜色循环的好方法.
他们在这里讨论了色板:https ://stanford.edu/~mwaskom/software/seaborn/tutorial/color_palettes.html
以下代码演示了如何为简单的线图自动选择新的color_cycle:
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
num_lines = 6
ax = plt.subplot(111)
ax.set_color_cycle(sns.color_palette("coolwarm_r",num_lines))
for i in range(num_lines):
x = np.linspace(0,20,200)
ax.plot(x,np.sin(x)+i)
plt.show()
Run Code Online (Sandbox Code Playgroud)
如果你只是想改变线条颜色而不是使用其他的seaborn预设,比如灰色背景,那就输入seaborn with
import seaborn.apionly as sns
Run Code Online (Sandbox Code Playgroud)