Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 宽度错误的条形图_Python_Matplotlib - Fatal编程技术网

Python 宽度错误的条形图

Python 宽度错误的条形图,python,matplotlib,Python,Matplotlib,我想为包含多个类别的dataframe创建一个条形图,每个类别使用不同的颜色。下面是我的简化代码和结果图。顶部子图是一种颜色的规则条形图,底部子图是颜色编码的,但条形图的宽度混乱。有什么建议吗?谢谢 import random import pandas as pd import matplotlib.pyplot as plt df = pd.DataFrame({'Cat': [1, 1, 2, 2, 2, 2, 3, 3, 4, 4, 4, 4],

我想为包含多个类别的dataframe创建一个条形图,每个类别使用不同的颜色。下面是我的简化代码和结果图。顶部子图是一种颜色的规则条形图,底部子图是颜色编码的,但条形图的宽度混乱。有什么建议吗?谢谢

import random
import pandas as pd
import matplotlib.pyplot as plt


df = pd.DataFrame({'Cat': [1, 1, 2, 2, 2, 2, 3, 3, 4, 4, 4, 4],
                   'A': [2, 3, 6, 7, 9, 10, 15, 18, 22, 23, 24, 25],
                   'B': random.sample(range(1, 20), 12)})

fig = plt.figure(figsize=(15, 15/2.3))

ax = plt.subplot(2, 1, 1)
plt.bar(df.A, df.B)
plt.xlim(0, 30)

ax = plt.subplot(2, 1, 2)
for cat in df.Cat.unique():
    df_ = df.loc[(df.Cat==cat), :]
    plt.bar(df_.A, df_.B, width=0.5)
    plt.xlim(0, 30)
plt.show()

使用numpy数组进行打印,
plt.bar(df_uu.A.values,df_uu.B.values,width=0.5)
。在底部打印上,您不指定条形宽度,而在底部打印中指定条形宽度。那个么,你们到底是什么意思,酒吧的宽度是乱七八糟的?谢谢你们的重要性!我不知道它会有这么大的不同Solvaou:问题是底部的图形应该与顶部的图形相同,只是颜色不同(除了顶部的默认条形宽度),我看到了,但它的工作原理与我预期的一样。
matplotlib
可能有问题?您使用的是哪个版本(请使用
matplotlib.\uuuuu version\uuuuuu
)?