相关疑难解决方法(0)

Matplotlib更改colormap tab20有三种颜色

Matplotlib有一些新的非常方便的彩色图(tab colormap).我想念的是生成像tab20b或tab20c这样的色彩映射但有三个色调级别而不是四个色彩的功能?

这个解决方案有点复杂,有一个更容易吗?

skip = []
for i in range(0,len(cm.colors)//4+1):
    skip.append(4*i)
# the colormap is called Vega in my Matplotlib version
cm = plt.cm.get_cmap('Vega20c')
cm_skip = [cm.colors[i] for i in range(len(cm.colors)) if i not in skip]

for i, c in enumerate(cm_skip):
    x = np.linspace(0,1)
    y = (i+1)*x + i
    plt.plot(x, y, color=c, linewidth=4)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

Matplotlib中的色彩映射: 在此输入图像描述

编辑:此SO帖子中提供了更通用的方法.

python matplotlib

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

如何在matplotlib的嵌套饼图中使用正确的cmap颜色

如何使用 cmap 的正确 np.array 使内部颜色对应于 matplotlib 中嵌套饼图中的外部颜色深浅?

我尝试使用不同的 cmap 数组,但我不明白这些数组是如何转换为 cmap 颜色的。

import numpy as np
import matplotlib.pyplot as plt

y =np.array([17, 16, 10, 8 ,6, 5, 5, 4, 3,  17 ,2 ,1, 1, 3, 2 ])
x = np.array([74 ,21 ,5])

fig, ax = plt.subplots()

size = 0.3

cmap = plt.get_cmap("tab20c")

outer_colors = cmap(np.arange(3)*4)
inner_colors = cmap(np.array([1, 2, 5, 6, 9, 10]))

ax.pie(x, radius=1, colors=outer_colors,
       wedgeprops=dict(width=size, edgecolor='w'))

ax.pie(y, radius=1-size, colors=inner_colors,
       wedgeprops=dict(width=size, edgecolor='w'))

ax.set(aspect="equal", title='Pie plot with `ax.pie`')
plt.show()
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

我希望内部颜色是外部颜色的阴影(绿色、蓝色和橙色),但我不知道如何相应地更改它们。 …

python matplotlib pie-chart

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

是否有与 tab20c 类似且颜色数量更多的调色板?

这是有关颜色图的参考。

这是 tab20c 颜色图: 在此输入图像描述

我想要一个类似的颜色图(这样每种颜色都彼此不同),但它应该包含 20 多种颜色。还有其他选择吗?

python matplotlib

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

标签 统计

matplotlib ×3

python ×3

pie-chart ×1