python绘图颜色_python-matplotlib中更漂亮的默认绘图颜色

python-matplotlib中更漂亮的默认绘图颜色

matplotlib中使用的默认颜色(例如此处的示例:[http://matplotlib.org/examples/pylab_examples/pie_demo.html)]有点普通和难看。 我还注意到,如果您在一个图中绘制了5-6个以上的不同序列,则matplotlib将开始重复颜色。

我已经看到其他可视化软件包(默认情况下为其他语言)中的一些精美图形,这些图形可以具有5-6个不同的系列,而这些系列仅用一种颜色以不同的阴影覆盖。 是否有人在matplotlib中使用了良好的颜色设置? 还有一种使matplotlib在默认情况下使用它的方法?

7个解决方案

56 votes

您可以使用Matplotlib的样式表。 它已从mpltools库中移植,该库具有重新定义matplotlib rc参数的样式模块。

作为示例,请参见ggplot样式的使用和Matplotlib的手册。

plot_ggplot_1.png

gcalmettes answered 2020-07-03T03:07:42Z

28 votes

这个问题是2年前提出的,而如今,为您的情节获得更好的风格要容易得多。 您甚至不需要外部程序包。 正如@asmaier在评论中提到的那样,mpltools.style功能已集成到Matplotlib 1.4中,因此您可以使用以下方式切换样式:

plt.style.use(style_name)

例如:

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()

8ZIiT.png

您可以使用以下命令列出所有可用样式:

print plt.style.available

在Matplotlib 1.5中,添加了几种新样式,包括Seaborn项目中的许多样式:

plt.style.use('seaborn-dark-palette')

upzdt.png

wombatonfire answered 2020-07-03T03:08:15Z

25 votes

看一下prettyplotlib一个库(最近由朋友向我指出了),该库对matplotlib进行了修改,使其更符合Edward Tufte的想法,以及辛西娅·布鲁尔(Cynthia Brewer)关于颜色感知的一些非常认真研究的工作。

Marcus P S answered 2020-07-03T03:08:36Z

14 votes

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()

gclnY.png

如果您只想更改线色而不使用其他海洋预设,例如灰色背景,只需将seaborn与

import seaborn.apionly as sns

DanHickstein answered 2020-07-03T03:09:09Z

4 votes

您可以设置.matplotlibrc文件。 这里有一个非常受好评的例子。 在我看来,您想要更改的选项是axes.color_cycle。对于更漂亮的界面该怎么做我没有任何建议-这有点太主观了;但是() 默认值)

mgilson answered 2020-07-03T03:09:30Z

1 votes

您可以使用matplotlib的颜色图功能。

这个问题就是一个很好的例子。 您可以使用此脚本显示颜色图选项。

StuGrey answered 2020-07-03T03:09:54Z

1 votes

若需要matplotlib可以使用的更丰富的颜色,请查看可调色盘,其中包括精美的Wes Anderson托盘。

$ pip install palettable

$ python

>>> from palettable.colorbrewer.qualitative import Dark2_7

christopherlovell answered 2020-07-03T03:10:14Z

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值