python 绘图库matplotlib-_【Matplotlib-01】Python 绘图库 Matplotlib 入门教程

环境:

Windows10

python3.6.4

numpy1.14.1

matplotlib2.1.2

工具:Cmder

目录:

1.线性图

2.散点图

3.饼状图

4.条形图

5.直方图

例1:一条简单的线性直线

importmatplotlib.pyplot as pltimportnumpy as np

data= np.arange(100, 201) ##可以尝试改下范围值看看图片有什么变话

plt.plot(data)

plt.show()

注:

1.通过np.arange(100, 201)生成一个[100, 200]之间的整数数组,它的值是:[100, 101, 102, … , 200]

2.通过matplotlib.pyplot将其绘制出来。

很显然,绘制出来的值对应了图中的纵坐标(y轴)。

而matplotlib本身为我们设置了图形的横坐标(x轴):[0, 100],因为我们刚好有100个数值

3.通过plt.show()将这个图形显示出来

1209246-20180420132319322-496994979.png

例2:一次画多个直线

importmatplotlib.pyplot as pltimportnumpy as np

data= np.arange(100, 201)

plt.plot(data)

data2= np.arange(200, 301)

plt.figure()

plt.plot(data2)

plt.show()

例2~:画在同一个画板中

importmatplotlib.pyplot as pltimportnumpy as np

data= np.arange(100, 201)

plt.subplot(2, 1, 1)

plt.plot(data)

data2= np.arange(200, 301)

plt.subplot(2, 1, 2)

plt.plot(data2)

plt.show()

1209246-20180420133239964-956129773.png

plt.subplot(2, 1, 1) Return a subplot axes at the given grid position.

创建一个2行1列的图片,并在第一个位置【第1行第1列】中准备创建一个图

例3:线型图【比起例1来说,我们x,y都是已有的】

importmatplotlib.pyplot as plt

plt.plot([1, 2, 3], [3, 6, 9], '-r')

plt.plot([1, 2, 3], [2, 4, 9], ':g')

plt.show()

1209246-20180420133734713-1209376765.png

1.plot函数的第一个数组是横轴的值,第二个数组是纵轴的值,所以它们一个是直线,一个是折线;

2.最后一个参数是由两个字符构成的,分别是线条的样式和颜色。

前者是红色的直线,后者是绿色的点线。

例4:散点图【借助于scatter函数绘制散点】

importmatplotlib.pyplot as pltimportnumpy as np

N= 20##plt.scatter(x,y,color颜色,size大小,alpha透明度)

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()

注:

1.这幅图包含了三组数据,每组数据都包含了20个随机坐标的位置

2.参数c表示点的颜色,s是点的大小,alpha是透明度

1209246-20180420134401398-810467558.png

例5:饼状图【pie函数可用于绘制饼状图】

importmatplotlib.pyplot as pltimportnumpy as np

labels= ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']

data= np.random.rand(7) * 100plt.pie(data, labels=labels, autopct='%1.1f%%')

plt.axis('equal')

plt.legend()

plt.show()

注:

1.data是一组包含7个数据的随机数值

2.图中的标签通过labels来指定

3.autopct指定了数值的精度格式

4.plt.axis('equal')设置了坐标轴大小一致

5.plt.legend()指明要绘制图例(见下图的右上角)

1209246-20180420134801107-1543094243.png

例6:条形图【bar函数可用于绘制条形图】

importmatplotlib.pyplot as pltimportnumpy as np

N= 7x=np.arange(N)

data= 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()

注:

1.这幅图展示了一组包含7个随机数值的结果,每个数值是[0, 100]的随机数

2.它们的颜色也是通过随机数生成的。

np.random.rand(N * 3).reshape(N, -1)表示先生成21(N x 3)个随机数,然后将它们组装成7行,那么每行就是三个数,这对应了颜色的三个组成部分RGB。

3.title指定了图形的标题,labels指定了标签,alpha是透明度

1209246-20180420135051422-1822957245.png

例7:直方图【hist函数可用于绘制直方图】

importmatplotlib.pyplot as pltimportnumpy as np

data= [np.random.randint(0, n, n) for n in [3000, 4000, 5000]]

labels= ['3K', '4K', '5K']

bins= [0, 100, 500, 1000, 2000, 3000, 4000, 5000]

plt.hist(data, bins=bins, label=labels)

plt.legend()

plt.show()

注:

[np.random.randint(0, n, n) for n in [3000, 4000, 5000]]生成了包含了三个数组的数组,这其中:

第一个数组包含了3000个随机数,这些随机数的范围是 [0, 3000)

第二个数组包含了4000个随机数,这些随机数的范围是 [0, 4000)

第三个数组包含了5000个随机数,这些随机数的范围是 [0, 5000)

bins数组用来指定我们显示的直方图的边界,即:

[0, 100) 会有一个数据点,

[100, 500)会有一个数据点,以此类推。所以最终结果一共会显示7个数据点。

1209246-20180420135342169-253742238.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值