Matplotlib堆叠的条形图具有类似于pgfplots的单个边缘颜色

科莫多瓦兰_

我有一些堆叠的条形图,看起来可能像这样

在此处输入图片说明

但是我真的很喜欢边缘颜色跟随其他颜色,例如pgfplots 在此处输入图片说明

Matplotlib是否有可能(在合理范围内)?

import numpy as np
import matplotlib.pyplot as plt
import pandas as pd

test1 = np.array([51, 13.8, 15.5, np.NaN])
test2 = np.array([40.3, 30.4, 13.8, 15.5])

df = pd.DataFrame(dict(test1 = test1,
                       test2 = test2),
                  columns = ["test1","test2"]).T

ax = df.plot.barh(stacked = True, cmap = "coolwarm", edgecolor = "black", lw = 1, width = 0.8, figsize = (6,4))
plt.show()
戴维

首先,条形图的边缘为黑色,因为您已将设置edgecolor = "black"df.plot.barh删除此意味着没有边色。您需要将每个条的edgecolor设置为bar facecolor的

您可以通过矩形补丁(使用迭代获得做到这一点ax.patches),并使用edgecolor设置为facecolorget_facecolor()set_edgecolor()

test1 = np.array([51, 13.8, 15.5, np.NaN])
test2 = np.array([40.3, 30.4, 13.8, 15.5])

df = pd.DataFrame(dict(test1 = test1,
                       test2 = test2),
                  columns = ["test1","test2"]).T

ax = df.plot.barh(stacked = True, cmap = "coolwarm", lw = 1.5, width = 0.8, figsize = (6,4))

for rect in ax.patches:
    facecolor = list(rect.get_facecolor())
    rect.set_edgecolor(facecolor)

    facecolor[-1] = 0.5  # reduce alpha value of facecolor, but not of edgecolor
    rect.set_facecolor(facecolor)

plt.show()

这使:

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用matplotlib绘制具有不同阴影和边缘颜色的条形图和图例?

使堆叠条形图中的条形图具有不同的颜色ggplot

matplotlib中具有不同宽度和颜色的条形图(Mekko条形图)

创建堆叠的条形图,每个堆叠具有单个数据集

Matplotlib条形图-类似于堆积的叠加条

堆叠条形图的颜色

ggplot中具有单列的堆叠条形图?

具有多个方面的堆叠条形图

具有可变宽度元素的堆叠条形图?

每组具有多个或不同图例的堆叠条形图

创建具有圆角边缘的Rechart条形图

堆叠单个系列熊猫的条形图

Google堆叠条形图颜色

堆叠条形图,颜色条

如何分别指定matplotlib堆叠条形图的条形中的颜色?

Matplotlib如何制作连续的条形图在不同的部分具有不同的颜色

R条形图对于某些条形图具有不同的颜色

如何使用matplotlib使用颜色图并在堆叠的条形上为特定值具有特定颜色

绘制具有不同图例颜色的条形图

创建具有颜色的多种度量的分组条形图

熊猫-堆叠的条形图,具有用于堆叠的列值

点网图堆积的条形图显示类似于常规条形图

具有表格格式的Matplotlib条形图

matplotlib条形图,仅具有突出显示值

堆叠的条形图,其中每一列都是Altair中具有多列的条形图

熊猫-具有独立/不相关条形分区的堆叠条形图

多个条形图的单个图例matplotlib

Python:类似于嵌入图片的条形图

类似于MS Excel的绘图条形图