matplotlib

导入

import matplotlib.pyplot as plt
import numpy as np

解决中文显示问题

mpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['axes.unicode_minus'] = False

基本图形

'''
绘制线条或标记的轴。参数是一个可变长度参数,允许多个X、Y对可选的格式字符串
plot(y)    #如果只接收到一个值就默认为y值 ,而x默认为从0 到 n ,使用默认的线条样式和颜色
绘图中用到的直线属性包括:
(1)LineStyle:线形
(2)LineWidth:线宽
(3)Color:颜色
(4)Marker:标记点的形状
(5)label:用于图例的标签
line1 = plt.plot(x, y1, color='green', linewidth=1.0, linestyle='--')
line2= plt.plot(x, y2, color='blue', linewidth=1.0, linestyle='-')
# 设置A,B线条的标注并打印下来//handle指放入legend中的线条,labels给线条取名字,loc取legend位置
plt.legend(handles=[line1, line2], labels=['sin(x)', 'cos(x)'], loc='best')
'''
x = np.arange(-3,3,0.1)
y1 = np.sin(x)
y2 = np.cos(x)
#图形,matplotlib中的所有图像都是位于figure对象中,一个图像只能有一个figure对象。matplotlib 的 figure 就是一个 单独的 figure 小窗口, 小窗口里面还可以有更多的小图片.
plt.figure(num=3,figsize=(8,6))
plt.plot(x,y1,color='m',label='sin')
plt.plot(x,y2,color='r',linestyle='dashed',label='cos')#marker='o'
# plt.plot(x,y1,x,y2)
plt.xlabel('横坐标')
plt.ylabel('纵坐标')
plt.title('正旋余旋图')
#抽取图,对四边进行操作。隐藏上部和右部
ax = plt.gca()
ax.spines['right'].set_color(None)
ax.spines['top'].set_color(None)
# plt.xlim(-1,1)  # 设置x轴的取值范围
plt.legend(loc='upper left')
plt.show()

subplot

subplot(numRows, numCols, plotNum)

x1 = [1,2,3]
y1 = [7,8,9]
y2 = [6,5,4]
plt.figure()
plt.subplot(121)  #总共一排两列,当前是第一个
plt.plot(x1,y1)

plt.subplot(122)#当前是第一个
plt.plot(x1,y2)


plt.savefig('a1.png')#保存图像
plt.show()

Matplotlib柱状图

matplotlib.pyplot. bar (*args, **kwargs)

'''
    数据设置
'''
# 数据
data = np.array([300,400,500,600])

# 数量
n = 3
#宽度
width = 0.6/n

# 数据标量 柱子的组数
x = np.arange(1,5)

# 创建一个图形
plt.figure()

# 绘制图形
plt.bar(x,height = data,width = width,color = 'red',label = 'red',align = 'center' )
plt.bar(x-width,height = data+50,width = width,color = 'blue',label = 'blue',align = 'center' )
plt.bar(x+width,height = data+50,width = width,color = 'yellow',label = 'yellowue',align = 'center' )

# 设置文本
for m,n in zip(x,data):
    plt.text(m,n+10,'%d'%n,ha = 'center')
    plt.text(m-width,n+50+10,'%d'%(n+50),ha = 'center')
    plt.text(m+width,n+50+10,'%d'%(n+50),ha = 'center')

# 设置标题
plt.title('一季度旅游数据')

# 设置x,y轴标签
plt.xlabel('浮云牧场')
plt.ylabel('人次/万')

# 控制x y 轴的刻度
plt.xticks(np.arange(1,5),[str(i)+'月' for i in range(1,5)])
plt.yticks(np.arange(100,600,100))

# 设置周边框
ax = plt.gca()
ax.spines['right'].set_color(None)
ax.spines['top'].set_color(None)

# 生成图例
plt.legend(loc = 'upper left')

# 保存图片
# plt.savefig('aa.jpg')

plt.show()

Matplotlib直方图

x=np.random.randn(10000).cumsum()
plt.figure()
plt.hist(x,1000,color='red',alpha=0.7)
plt.grid(True)
plt.show()

Matplotlib散点图

# 数据
x = np.random.rand(1000)
y = np.random.randn(1000)

# 绘图
plt.figure()
plt.scatter(x,y,c = np.random.rand(1000,4),s = np.random.random(1000)*100)

plt.show()

Matplotlib线图

'''
    figure 图形
'''
x = np.arange(-3,3,0.1)
y1 = np.sin(x)
y2 = np.cos(x)

# 创建一个图形
plt.figure()
plt.plot(x,y1)

plt.figure(num = 3,figsize = (8,6))    #弹出figure =3    (8,6)是大小
plt.plot(x,y2)

plt.show()

 

Matplotlib饼图

# 设置数据
x = np.array([15,20,25,30,10])
# 设置距离
explode = [0,0,0,0.2,0]
# labels
labels = ['网络购物','旅游交通','日常生活','女朋友','游戏']
# color
colors = ['r','b','g','y','m']

plt.figure()
plt.pie(x,explode = explode,labels = labels,colors= colors,labeldistance=1.2,startangle = 90,shadow=True,autopct = '%.2f%%',pctdistance=0.5)

# plt.title('明细')

plt.axis('equal')
plt.show()

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值