前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python进阶之Matplotlib入门(六)

Python进阶之Matplotlib入门(六)

作者头像
HuangWeiAI
发布2019-11-15 20:52:22
8440
发布2019-11-15 20:52:22
举报
文章被收录于专栏:浊酒清味浊酒清味

引言

Matplotlib是Python的画图领域使用最广泛的绘图库,它能让使用者很轻松地将数据图形化以及利用它可以画出许多高质量的图像,是用Python画图的必备技能。对于这个教程,大家最好亲自码一遍代码,这样可以更有收获。

概要

1、学会Matplotlib中的散点图功能;

2、学会Matplotlib中的柱状图功能;

散点图

之前的课程里,我们一直在学习如何画线图,现在我们开始介绍其他类型的图,比如:

  • 散点图;
  • 等高线图;
  • 条形图;
  • 柱状图;
  • 3D 图形,
  • 甚至是图形动画等等.

我们从散点图开始。其实散点图就是将二维坐标点按照坐标画在一个平面上面,比如下图的效果:

要想画出上面这张图是需要花一点心思的,我们先把代码展示给大家看:

代码语言:javascript
复制
import numpy as npimport matplotlib.pyplot as plt
n = 1024X = np.random.normal(0,1,n)Y = np.random.normal(0,1,n)T = np.arctan2(Y,X) # for color value
plt.scatter(X, Y, s=75, c=T, alpha=0.5)
plt.xlim(-1.5, 1.5)plt.xticks(())  # ignore xticksplt.ylim(-1.5, 1.5)plt.yticks(())  # ignore yticksplt.show()

我们一个生成1024个点,X是横坐标,Y是纵坐标,我们用random.normal函数来生成这些随机坐标。normal的意思是正态分布,也就是我们常见的高斯分布。熟悉正态分布的同学肯定会问上面的图为什么看上去非常均匀,其实这和我们用plt.xlim函数以及plt.ylim函数规定坐标轴范围相关。还有根据点所处的角度不同来改变颜色,所以导致了非常炫酷的效果。最后的重点就是scatter函数,它负责画出散点图,其中参数c是颜色,alpha是透明度。

更多参数以及案例请参考官方文档:

https://matplotlib.org/3.1.1/api/_as_gen/matplotlib.pyplot.scatter.html

柱状图

柱状图也叫条形图,是非常直观表达数据的常用图之一,因此我们需要重点关注这个图的画法。

我们先把图展示出来:

画柱状图的核心函数是bar,我们把代码展示出来:

代码语言:javascript
复制
import matplotlib.pyplot as pltimport numpy as np
n = 12X = np.arange(n)Y = (1-X/float(n)) * np.random.uniform(0.5,1.0,n)
plt.bar(X, Y, facecolor='red', edgecolor='white')
for x,y in zip(X,Y):    plt.text(x, y+0.05, '%.2f' % y, ha='center', va= 'bottom')
plt.ylim(-0,+1.25)plt.show()

第一步我们要确定X轴的数据。这里我们使用numpy函数来构造一个0到11的数列,然后用随机函数来构造Y轴的数据,之后就用bar函数来画出来柱状图。注意到我们用text函数给柱状图上的数值做了标注。

同样别忘了去官网查询更多的bar函数参数使用方法以及案例:

https://matplotlib.org/3.1.1/api/_as_gen/matplotlib.pyplot.bar.html

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-11-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python与机器学习之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档