import matplotlib.pyplot as plt
import numpy as np
import xlrd
import xlwt
wb = xlrd.open_workbook('Scatter plot.xlsx')
sh1 = wb.sheet_by_name('T180')
sh2=wb.sheet_by_name("T181")
sh3=wb.sheet_by_name("Sheet1")
x= np.array([sh1.col_values(7, start_rowx=50, end_rowx=315)])
x1= np.array([sh2.col_values(1, start_rowx=48, end_rowx=299)])
y=np.array([sh1.col_values(2, start_rowx=50, end_rowx=299)])
y1= np.array([sh2.col_values(2, start_rowx=48, end_rowx=299)])
print x
plt.hist(x,bins=50)
plt.xlabel("dx (micron)")
plt.ylabel("dy (micron)")
plt.show()
正如您所见,此代码可以获得链接中的图形。为什么这个直方图是这样的?
我该如何解决?提前感谢您的帮助。
答案 0 :(得分:1)
x
的形状为(1, 265)
,它是一个2-dim数组,您需要先将其转换为1-dim数组:
plt.hist(x.ravel(), bins=50)
答案 1 :(得分:0)
是的,根据HYRY的建议,它运作得很好。感谢@ HYRY。
plt.hist(x.ravel(),bins=100,histtype="step",label="Before Translation")