相同的多个值对不同的y值的绘图

时间:2018-11-12 19:53:08

标签: python pandas matplotlib

我有一个零和一的矩阵。我想作图以查看哪个部分具有哪个规格。我举了一个关于矩阵外观的小例子。目前,我只是这样做,但是我知道这是错误的,无法弄清楚如何在x轴上绘制产品,在y轴上绘制规格(或以其他方式)。我想看看我所有零件的规格分布情况。我用散点图尝试了它,但是它不起作用,因为x和y的数量不匹配。如果这个问题还不够清楚,请问我是否更正,因为我的英语不是最好的。我不需要完整的代码,找不到我的案例的示例,这就是为什么我问这个问题。

#after my import I filled the NaN with zeros
data=data.fillna(0)
pn=data.iloc[:,0]
specs=data.iloc[:,1:6]
plt.scatter(specs,pn)

enter image description here

更新:

将有帮助的一个热图或一个我可以看到一个规范出现频率分布的东西,如下图所示。 enter image description here

1 个答案:

答案 0 :(得分:1)

这可能会让您入门。感谢您更新问题。我严重依赖seabornpandasnumpy

https://seaborn.pydata.org/generated/seaborn.heatmap.html

import numpy as np
import seaborn as sns

np.random.seed(0)
data = np.random.randint(2, size=100).reshape(10,10)
ax = sns.heatmap(data)

这将创建一个10x10的1和0数组。

[[0 1 1 0 1 1 1 1 1 1]
 [1 0 0 1 0 0 0 0 0 1]
 [0 1 1 0 0 1 1 1 1 0]
 [1 0 1 0 1 1 0 1 1 0]
 [0 1 0 1 1 1 1 1 0 1]
 [0 1 1 1 1 0 1 0 0 1]
 [1 0 1 0 1 0 0 0 0 0]
 [1 1 0 0 0 1 1 0 1 0]
 [0 1 0 1 1 1 1 1 1 0]
 [1 1 0 0 1 0 0 1 1 0]]

这是热图:

heatmap

您还可以使用numpy或pandas求和。

import matplotlib.pyplot as plt
df = pd.DataFrame(data)
df.sum(axis=1).plot(kind="bar")
plt.show()

输出:

pandas bar plot