python数据分析与可视化 anaconda安装matplotlib失败( 二 )


直方图hist可以用来绘制直方图,这也是我们非常常见的图像 。在财经领域我们经常用直方图反应一个数据的走势,在数据分析和机器学习当中我们也经常用直方图来反应某一个特征或者是值的分布 。
在直方图当中我们只需要传入一个数组,就是我们要求分布的数组,另外我们需要再输入一个参数bins,表示我们希望将数据分桶的数量 。然后它会绘制出每个桶中数据数量的直方图,这样我们就可以很直观地看出分布来了 。
x = np.random.normal(size=200)plt.hist(x,bins=30)plt.show()这里我们调用numpy当中以正态分布概率随机的函数,得到的结果应该是正态分布的 。
我们查看图像,这个结果和我们的预期基本吻合 。
点状图第三种图像叫做散点图,它反应的是每个点的分布情况 。比如我们之前在介绍KNN和Kmeans模型的时候曾经都作过散点图,一个点代表一个样本,通过散点图我们观察的也是样本和数据分布的情况 。但是和直方图相比它更加得直观,我们能直接看到分布,而不是一个分布的统计结果 。
但是它也有缺点,缺点就是我们只能观察二维平面当中的点的分布,毕竟超过3维的维度就没办法绘制了 。而且3维的数据分布也不是很好观察 。
同样散点图的绘制也很简单,我们只需要调用scatter函数传入x和y的数组即可 。
x = np.random.rand(100)y = np.random.rand(100)plt.scatter(x, y)这里我们的x和y都是随机分布,所以得到的结果是散乱没有规律的点 。
饼状图最后我们来看下饼状图,饼状图也很常用,虽然也是反映的数据分布,但是它更多是体现某一个值占的比例 。通过饼状图,我们可以很直观地了解到这点 。
我们可以传入一个list进入pie函数,plot会根据list当中值在总体的占比绘制饼状图 。我们来看个很简单的例子:
a = np.array([0.5, 0.3, 0.2, 0.1, 0.8])plt.pie(a)得到的结果如下:
和之前的结果相比饼状图稍稍不清晰一些,因为它虽然用不同颜色区分了不同的区域的,但是我们很难直观地看出来每一个区域分别代表什么 。这个问题是可以解决的,我们可以通过传入一些参数和设定来让它展示更多的信息,让数据变得更加生动以及清晰 。

推荐阅读