相关疑难解决方法(0)

如何为matplotlib中的每个绘制线选择一种新颜色?

我不想为每个绘制的线指定颜色:

from matplotlib import pyplot as plt
for i in range(20):
    plt.plot([0, 1], [i, i])

plt.show()
Run Code Online (Sandbox Code Playgroud)

如果您为此查看图像,matplotlib会尝试为每行不同的颜色选择颜色,但最终会重新使用颜色.我只是想阻止它重复已经使用的颜色和/或提供一个颜色列表来使用.

matplotlib

88
推荐指数
5
解决办法
13万
查看次数

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

matplotlib中使用的默认颜色(例如:http://matplotlib.org/examples/pylab_examples/pie_demo.html)有点简单和丑陋.我还注意到,如果你在一个图中绘制超过5-6个不同的系列,matplotlib开始重复颜色.

我已经看到一些华丽的图形来自其他可视化软件包(在其他语言中,默认情况下),可以有5-6个不同的系列,只有一种颜色以不同的色调覆盖.有没有人有一个很好的颜色设置在matplotlib中使用?还有一种方法可以让matplotlib默认使用它吗?

python matplotlib

45
推荐指数
4
解决办法
5万
查看次数

Matplotlib set_color_cycle与set_prop_cycle

我最喜欢在Matplotlib上做的事情之一就是设置颜色循环以匹配一些颜色图,以便生成线条图,颜色在线条上有很好的渐变.像这个:

在此输入图像描述

以前,这是一行代码使用set_color_cycle:

ax.set_color_cycle([plt.cm.spectral(i) for i in np.linspace(0, 1, num_lines)])
Run Code Online (Sandbox Code Playgroud)

但是,最近我看到一个警告:

MatplotlibDeprecationWarning: 
The set_color_cycle attribute was deprecated in version 1.5. 
Use set_prop_cycle instead.
Run Code Online (Sandbox Code Playgroud)

使用set_prop_cycle,我可以实现相同的结果,但我需要import cycler,并且语法不那么紧凑:

from cycler import cycler
colors = [plt.cm.spectral(i) for i in np.linspace(0, 1, num_lines)]
ax.set_prop_cycle(cycler('color', colors))
Run Code Online (Sandbox Code Playgroud)

所以,我的问题是:

我使用set_prop_cycle得当吗?(并以最有效的方式?)

有没有更简单的方法将颜色周期设置为色彩图?换句话说,这样有一些神话般的功能吗?

ax.set_colorcycle_to_colormap('jet', nlines=30)
Run Code Online (Sandbox Code Playgroud)

以下是完整示例的代码:

import numpy as np
import matplotlib.pyplot as plt

ax = plt.subplot(111)
num_lines = 30

colors = [plt.cm.spectral(i) for i in np.linspace(0, 1, num_lines)]

# old way: 
ax.set_color_cycle(colors) …
Run Code Online (Sandbox Code Playgroud)

python matplotlib

19
推荐指数
1
解决办法
7194
查看次数

matplotlib的颜色选择打印得很好

我正在使用pandas和matplotlib来生成包含大量条形图的条形图.

我知道如何循环选择所选颜色的列表(如何给出pandas/matplotlib条形图自定义颜色).问题是要选择什么颜色,以便我的图形可以很好地打印在纸上(这是一篇研究论文).我最感兴趣的是柱子和选择的颜色之间的足够对比,看起来很舒服.我想要多种颜色而不是灰度或单色调颜色.

是否有任何预定的方案可供人们使用?

printing matplotlib pandas

8
推荐指数
3
解决办法
4851
查看次数

更改 python matplotlib python 绘图的配色方案

我想为我的 python 图设置一个配色方案,这样它们就不会像下面显示的顶部图中的 A 和 H 一样重复相同的颜色。(对不起,如果它很难看到)。 在此处输入图片说明

我使用的代码很简单,

ax1.plot(sections,A,label='A',linewidth=2) ax1.plot(sections,B,label='B',linewidth=2) ax1.plot(sections,C,label='C', linewidth=2) ax1.plot(sections,D,label='D',linewidth=2) ax1.plot(sections,E,label='E',linewidth=2) ax1.plot(sections,F,label= 'F',linewidth=2) ax1.plot(sections,G,label='G',linewidth=2) ax1.plot(sections,H,label='H',linewidth=2)

设置配色方案的最佳方法是什么?是否使用颜色图功能?谢谢你的帮助!

python plot colors matplotlib color-mapping

5
推荐指数
1
解决办法
6807
查看次数

如何在matplotlib中更改多个图的默认颜色?

我想对Jupyter笔记本中的每个图使用相同的颜色图/颜色周期/调色板。

使用seaborn软件包,我可以使用:

seaborn.set_palette('Set1')  
Run Code Online (Sandbox Code Playgroud)

有没有一种方法可以只使用matplotlib而不使用seaborn?

我知道如何分别为每个图定义颜色图,并且我知道预定义的样式(例如ggplot),但是我找不到一种可以一次仅对所有图定义颜色图的方法。

我的目的是为我的学生简化代码,因此set_palette()不要使用后面的复杂代码。

编辑:如已接受的答案所示,我将颜色映射与颜色循环混淆。

python plot matplotlib

1
推荐指数
1
解决办法
2702
查看次数

标签 统计

matplotlib ×6

python ×4

plot ×2

color-mapping ×1

colors ×1

pandas ×1

printing ×1