Python 使用“For”循环从多个表生成直方图

Python 使用“For”循环从多个表生成直方图,python,matplotlib,Python,Matplotlib,我试图从13个不同的表格中为三个不同的变量制作一个柱状图。为了简单起见,我将这些变量称为“x”、“y”、“z”。i、 e.我需要为所有13个表的所有x变量制作一个直方图,为所有13个表的所有y变量制作一个直方图,为所有z表制作一个直方图。13个不同的表有10k+行用于多个变量,因此我必须使用布尔值来选择“好”值。到目前为止,我已经: 图=plt.figure ax=图添加子图111 rangelennumtable中的for itable:在表的长度上创建for循环以循环遍历每个表 在Range

我试图从13个不同的表格中为三个不同的变量制作一个柱状图。为了简单起见,我将这些变量称为“x”、“y”、“z”。i、 e.我需要为所有13个表的所有x变量制作一个直方图,为所有13个表的所有y变量制作一个直方图,为所有z表制作一个直方图。13个不同的表有10k+行用于多个变量,因此我必须使用布尔值来选择“好”值。到目前为止,我已经:

图=plt.figure ax=图添加子图111 rangelennumtable中的for itable:在表的长度上创建for循环以循环遍历每个表 在RangeleBooLeIn中的IVA:我正在工作的表将上述循环中的每个值视为数组。i、 e.如果我想要一个表中的所有x VAL,它将生成一个数组,而不是一个值。 plt.histx='x',箱子=20 我得到的是一个只有3个高度相等的箱子的直方图。我在编码方面不是最有经验的,那么我该如何做才能从所有表中的所有x值生成直方图呢?我知道我可以使用np.appendvalues来创建一个包含我需要的所有值的新表,但是我需要访问13个表中的其他变量来获取这些值,所以我不能创建一个单独的表。任何和所有的帮助都会很棒


我已经添加了一张关于“x”值和直方图的图片,有两种方法可以在单个绘图上组合直方图。如果总列宽在不同列之间拆分,则为单向。举个简单的例子,试试看

plt.hist([[1,2,3],[1,1,2]])
另一种选择是使用透明度,例如,请参见使直方图实际重叠。下面是一个简单的例子

plt.hist([1,2,3], bins=3, alpha=0.5)
plt.hist([1,1,2], bins=3, alpha=0.5)
请注意,在这种方法中,将存储箱的数量设置为相同是有益的

对于上面的代码:

to_plot = list()
for itable in range(len(numtable)):
    for ival in range(len(boolean)):
        to_plot.append(itable[ival]) # or any other way to refer to the numbers
plt.hist(to_plot)


分别。

有两种方法可以在单个绘图上组合直方图。如果总列宽在不同列之间拆分,则为单向。举个简单的例子,试试看

plt.hist([[1,2,3],[1,1,2]])
另一种选择是使用透明度,例如,请参见使直方图实际重叠。下面是一个简单的例子

plt.hist([1,2,3], bins=3, alpha=0.5)
plt.hist([1,1,2], bins=3, alpha=0.5)
请注意,在这种方法中,将存储箱的数量设置为相同是有益的

对于上面的代码:

to_plot = list()
for itable in range(len(numtable)):
    for ival in range(len(boolean)):
        to_plot.append(itable[ival]) # or any other way to refer to the numbers
plt.hist(to_plot)

分别