假设我想在python中的同一窗口上绘制2个直方图子图,一个在下一个下面。这些直方图中的数据将从包含具有属性A和B的表的文件中读取。
在同一个窗口中,我需要A的图表与每个A的数量以及B与每个B的数量的关系图 - 直接在A的图表下方。所以假设属性是身高和体重,那么我们有一个高度和人数的图表,高度和低于它的重量和人数的单独图表。
import numpy as np; import pandas as pd
import matplotlib
import matplotlib.pyplot as plt
frame = pd.read_csv('data.data', header=None)
subplot.hist(frame['A'], frame['A.count()'])
subplot.hist(frame['B'], frame['B.count()'])
感谢您的帮助!
答案 0 :(得分:2)
你可以这样做:
import numpy as np
import numpy.random
import pandas as pd
import matplotlib.pyplot as plt
#df = pd.read_csv('data.data', header=None)
df = pd.DataFrame({'A': numpy.random.random_integers(0,10,30),
'B': numpy.random.random_integers(0,10,30)})
print df['A']
ax1 = plt.subplot(211)
ax1.set_title('A')
ax1.set_ylabel('number of people')
ax1.set_xlabel('height')
ax2 = plt.subplot(212)
ax2.set_title('B')
ax2.set_ylabel('number of people')
ax2.set_xlabel('weight')
ax1.hist(df['A'])
ax2.hist(df['B'])
plt.tight_layout()
plt.show()
答案 1 :(得分:2)
使用pandas,您可以像这样histograms:
import numpy as np; import pandas as pd
import matplotlib.pyplot as plt
frame = pd.read_csv('data.csv')
frame.hist(layout = (2,1))
plt.show()
我对问题的第二部分感到困惑。你想要四个独立的子图吗?