python - seaborn color_palette 作为 matplotlib 颜色图

标签 python matplotlib plot seaborn

Seaborn 提供了一个名为 color_palette 的函数,可让您轻松地为绘图创建新的 color_palette。

colors = ["#67E568","#257F27","#08420D","#FFF000","#FFB62B","#E56124","#E53E30","#7F2353","#F911FF","#9F8CA6"]

color_palette = sns.color_palette(colors)

我想将 color_palette 转换为可以在 matplotlib 中使用的 cmap,但我不知道该怎么做。

可悲的是,像“cubehelix_palette”、“light_palette”……这样的函数只有一个“as_cmap”参数。不幸的是,“color_palette”没有。

最佳答案

您必须将 seaborn 调色板中的颜色列表转换为 matplotlib 的颜色图(发送至 @RafaelLopes 以获取建议的更改):

import seaborn as sns
import matplotlib.pylab as plt
import numpy as np
from matplotlib.colors import ListedColormap

# construct cmap
flatui = ["#9b59b6", "#3498db", "#95a5a6", "#e74c3c", "#34495e", "#2ecc71"]
my_cmap = ListedColormap(sns.color_palette(flatui).as_hex())

N = 500
data1 = np.random.randn(N)
data2 = np.random.randn(N)
colors = np.linspace(0,1,N)
plt.scatter(data1, data2, c=colors, cmap=my_cmap)
plt.colorbar()
plt.show()

enter image description here

关于python - seaborn color_palette 作为 matplotlib 颜色图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37902459/

相关文章:

python - 在 matplotlib 中,如何在由两组不同数组定义的两条曲线之间进行填充?

python - 如何在机器人文件中使用 python 函数的多个返回值?

python - 这种文件锁定方法是否可以接受?

python - 使用 matplotlib 对齐两个 y 轴刻度时出现问题

python - 很难用 moviepy 动画 matplotlib 图

r - 如何为scale_alpha创建连续的图例(彩条样式)?

r - 了解 hist() 和 R 中的中断间隔

python - 如何从不同模型获取查询集的 json 响应列表?

python - Matplotlib savefig 只保存图像,不保存线条

python - Matplotlib 挑战 - 仅在存在范围内绘制的智能方法