绘图库 Matplotlib 入门教程( 二 )
因此 , 下面这段代码的结果是一样的:
import matplotlib.pyplot as pltimport numpy as np data = http://kandian.youth.cn/index/np.arange(100, 201)plt.subplot(211)plt.plot(data) data2 = np.arange(200, 301)plt.subplot(212)plt.plot(data2) plt.show()
subplot函数的详细说明参见这里:matplotlib.pyplot.subplot
常用图形示例Matplotlib可以生成非常多的图形式样 , 多到令人惊叹的地步 。 大家可以在这里:Matplotlib Gallery 感受一下 。
本文作为第一次的入门教程 , 我们先来看看最常用的一些图形的绘制 。
线性图前面的例子中 , 线性图的横轴的点都是自动生成的 , 而我们很可能希望主动设置它 。 另外 , 线条我们可能也希望对其进行定制 。 看一下下面这个例子:
# plot.py import matplotlib.pyplot as plt plt.plot([1, 2, 3], [3, 6, 9], '-r')plt.plot([1, 2, 3], [2, 4, 9], ':g') plt.show()
这段代码可以让我们得到这样的图形:
文章插图
这段代码说明如下:
- plot函数的第一个数组是横轴的值 , 第二个数组是纵轴的值 , 所以它们一个是直线 , 一个是折线;
- 最后一个参数是由两个字符构成的 , 分别是线条的样式和颜色 。 前者是红色的直线 , 后者是绿色的点线 。 关于样式和颜色的说明请参见plot函数的API Doc:matplotlib.pyplot.plot
# scatter.py import matplotlib.pyplot as pltimport numpy as np N = 20 plt.scatter(np.random.rand(N) * 100,np.random.rand(N) * 100,c='r', s=100, alpha=0.5) plt.scatter(np.random.rand(N) * 100,np.random.rand(N) * 100,c='g', s=200, alpha=0.5) plt.scatter(np.random.rand(N) * 100,np.random.rand(N) * 100,c='b', s=300, alpha=0.5) plt.show()
这段代码说明如下:- 这幅图包含了三组数据 , 每组数据都包含了20个随机坐标的位置
- 参数c表示点的颜色 , s是点的大小 , alpha是透明度
文章插图
scatter函数的详细说明参见这里:matplotlib.pyplot.scatter
饼状图pie函数用来绘制饼状图 。 饼状图通常用来表达集合中各个部分的百分比 。
【绘图库 Matplotlib 入门教程】
# pie.py import matplotlib.pyplot as pltimport numpy as np labels = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] data = http://kandian.youth.cn/index/np.random.rand(7) * 100 plt.pie(data, labels=labels, autopct='%1.1f%%')plt.axis('equal')plt.legend() plt.show()
这段代码说明如下:- data是一组包含7个数据的随机数值
- 图中的标签通过labels来指定
- autopct指定了数值的精度格式
- plt.axis('equal')设置了坐标轴大小一致
- plt.legend()指明要绘制图例(见下图的右上角)
文章插图
pie函数的详细说明参见这里:matplotlib.pyplot.pie
条形图bar函数用来绘制条形图 。 条形图常常用来描述一组数据的对比情况 , 例如:一周七天 , 每天的城市车流量 。
下面是一个代码示例:
# bar.py import matplotlib.pyplot as pltimport numpy as np N = 7 x = np.arange(N)data = http://kandian.youth.cn/index/np.random.randint(low=0, high=100, size=N)colors = np.random.rand(N * 3).reshape(N, -1)labels = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] plt.title("Weekday Data")plt.bar(x, data, alpha=0.8, color=colors, tick_label=labels)plt.show()
这段代码说明如下:- 这幅图展示了一组包含7个随机数值的结果 , 每个数值是[0, 100]的随机数
- 它们的颜色也是通过随机数生成的 。 np.random.rand(N * 3).reshape(N, -1)表示先生成21(N x 3)个随机数 , 然后将它们组装成7行 , 那么每行就是三个数 , 这对应了颜色的三个组成部分 。 如果不理解这行代码 , 请先学习一下Python 机器学习库 NumPy 教程
- title指定了图形的标题 , labels指定了标签 , alpha是透明度
文章插图
bar函数的详细说明参见这里:matplotlib.pyplot.bar
直方图hist函数用来绘制直方图 。 直方图看起来是条形图有些类似 。 但它们的含义是不一样的 , 直方图描述了数据中某个范围内数据出现的频度 。 这么说有些抽象 , 我们通过一个代码示例来描述就好理解了:
- 精英|业务流程图怎么绘制?销售精英的经验之谈
- 我也很好奇,这些对于水下EricParé风格的绘画效果如何
- 让绘画成为一种享受,iPad Air平板电脑类纸膜推荐
- 牛!开创交互式电脑绘图先河,虚拟现实之父传奇
- 程度|外媒绘制一加9 Pro渲染图:细节程度堪比官方
- 进口商品|临沂兰山:用高端项目描绘高质量发展“工笔画”
- 小米生态小寻智能教学画板,智能不止于绘画
- 外媒绘制一加9 Pro渲染图曝光 曲面屏+后置四摄
- 汽车|内蒙古押宝新能源汽车:“绘蓝图”还是“画大饼”?
- 原创手绘显文艺气质,华为M3平板电脑保护套推荐