matplotlib绘图

matplotlib绘图

import numpy as np
import matplotlib.pyplot as plt
 #魔法指令,让绘制出来的图例展示在当前文件中
 %matplotlib inline 

plt.plot()绘制线性图

  • 绘制单条线形图

  • 绘制多条线形图

  • 设置坐标系的比例plt.figure(figsize=(a,b))

  • 设置图例legend()

  • 设置轴的标识

  • 图例保存

    • fig = plt.figure()

    • plt.plot(x,y)

    • figure.savefig()

  • 曲线的样式和风格(自学)

绘制单条线形图

 x = np.array([1,2,3,4,5])
 y = x + 2
 plt.plot(x,y)
x = x
 y = x ** 5
 plt.plot(x,y)

绘制多条线形图

plt.plot(x,y)
 plt.plot(x-2,y+3)

设置轴的标识

#坐标系设置表示 
 plt.plot(x,y)
 plt.xlabel('temp')
 plt.ylabel('dist')
 plt.title('temp&dist')

设置图例 legend()

 plt.plot(x,y,label='aaa')
 plt.plot(x-2,y+3,label='bbb')
 plt.legend()

设置坐标系的比例

#等比例的放大或者缩小坐标系(坐标的刻度是不会发生改变)
 plt.figure(figsize=(15,10)) #一定写在绘图操作之前
 plt.plot(x,y,label='aaa')
 plt.plot(x-2,y+3,label='bbb')
 plt.legend()
 #保存图像
 fig = plt.figure() #1.实例化对象
 #2.绘图
 plt.plot(x,y,label='aaa')
 plt.plot(x-2,y+3,label='bbb')
 plt.legend()
 #3.保存图片
 fig.savefig('./123.png')

曲线的样式和风格

柱状图 plt.bar()

  • 参数:第一个参数是索引。第二个参数是数据值。第三个参数是条形的宽度
 x = [1,2,3,4,5]
 y = [3,8,5,7,6] #柱高
 plt.bar(x,y)
 x = [1,2,3,4,5]
 y = [3,8,5,7,6] #柱高
 plt.barh(x,y)
output_11_1.png
plt.axes(polar=True)
data = np.array([1,2,3,4,5,6])
index = [1,2,3,4,5,7]
plt.bar(x=index,height=data,width=0.5)
output_11_1_1.png

直方图 hist()

  • 是一个特殊的柱状图,又叫做密度图

  • plt.hist()的参数

    • bins 可以是一个bin数量的整数值,也可以是表示bin的一个序列。默认值为10

    • normed 如果值为True,直方图的值将进行归一化处理,形成概率密度,默认值为False

    • color 指定直方图的颜色。可以是单一颜色值或颜色的序列。如果指定了多个数据集合,例如DataFrame对象,颜色序列将会设置为相同的顺序。如果未指定,将会使用一个默认的线条颜色

    • orientation 通过设置orientation为horizontal创建水平直方图。默认值为vertical

 x = [1,1,1,1,2,3,3,3,4,5,5,6,6,6,6,6,6,6,7,8,9]
 plt.hist(x,bins=20) #bins表示柱子的个数

输出结果:

(array([4., 0., 1., 0., 0., 3., 0., 1., 0., 0., 2., 0., 7., 0., 0., 1., 0.,
  1., 0., 1.]),
  array([1\. , 1.4, 1.8, 2.2, 2.6, 3\. , 3.4, 3.8, 4.2, 4.6, 5\. , 5.4, 5.8,
  6.2, 6.6, 7\. , 7.4, 7.8, 8.2, 8.6, 9\. ])

饼图 pie()

  • pie(),饼图也只有一个参数x

  • 饼图适合展示各部分占总体的比例,条形图适合比较各部分的大小

 arr=[11,22,31,15]
 plt.pie(arr)
output_14_1.png
 arr=[0.2,0.3,0.1]
 plt.pie(arr)
 arr=[11,22,31,15]
 plt.pie(arr,labels=['a','b','c','d'])
 arr=[11,22,31,15]
 plt.pie(arr,labels=['a','b','c','d'],labeldistance=0.3)
arr=[11,22,31,15]
 plt.pie(arr,labels=['a','b','c','d'],labeldistance=0.3,autopct='%.6f%%')
arr=[11,22,31,15]
 plt.pie(arr,labels=['a','b','c','d'],labeldistance=0.3,shadow=True,explode=[0.2,0.3,0.2,0.4])

散点图 scatter()

  • 因变量随自变量而变化的大致趋势

x = np.linspace(-np.pi,np.pi,num=20)
y = np.random.randint(0,20,size=(20,))


![](https://upload-images.jianshu.io/upload_images/20605284-d69b795868b18014.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

x = np.random.normal(loc=0,scale=5,size=1000)
y = np.random.normal(loc=0,scale=5,size=1000)

plt.plot() # plot绘制的是折线图

plt.scatter(x,y) # plt.scatter()绘制的是散点图

![output_23_1.png](https://upload-images.jianshu.io/upload_images/20605284-73c68c82552367f2.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

plt.scatter(x,y,s=80,c='red') # s size指的是散点的大小 c color指的是散点的颜色

![output_24_1.png](https://upload-images.jianshu.io/upload_images/20605284-253ae1eee162b777.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)


size = np.random.randint(0,100,1000)
color = np.random.random(size=(1000,3))

给这1000个点 随机产生 不同的 大小和颜色

plt.scatter(x,y,s=size,c=color,alpha=0.6,marker='*')
plt.axis('off')

![o.png](https://upload-images.jianshu.io/upload_images/20605284-0ba5e736491ffeba.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)![![output_24_1.png](https://upload-images.jianshu.io/upload_images/20605284-51a5dc126be01071.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
](https://upload-images.jianshu.io/upload_images/20605284-52f5a1747db8e555.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

你可能感兴趣的:(matplotlib绘图)