python-Matplotlib模块1-初级

导入模块

plt.plot()

import numpy as np
import matplotlib.pyplot as plt
# 处理中文正常显示
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']

1.折线图

先准备一个画布 . 参数 figsize 规定画布的大小。 如下是8x4英寸。1英寸=72像素dpi

plt.figure(figsize=(8,4),facecolor='cyan')

plot 折线图,里面参数是对应坐标

plt.plot( [-1,0,1,2,3] ,[4,3,7,2,4]   )

显示图

plt.show()

在这里插入图片描述

如果想将一个坐标的x,y全提取出来,可以用解压

# 先创建一个坐标值
lab=[(-5,4),(-4,5),(-3,4)]
# 解压
x,y=zip(*lab)
print(x)
print(y)

在这里插入图片描述
plot常用参数
plot(x,y,
‘go–’, // 颜色 点位 线条风格 r*:
linewidth = 2 ,//线条宽度
markersize = 12 ,//点的大小
color = ‘g’ ,// 颜色可以用单词,可以用 16进制颜色表示
marker = ‘o’ ,// 点位的形状 ,查语法 character description
linestyle = ‘’ ,// 线条风格,实线,虚线,点线 ‘-’, ‘–’, ‘-.’, ‘:’, ‘’
)

# 'gh-.':g绿色,h点的形状为六边形,-.点线
plt.plot(x,y,'gh-.',markersize=12)

在这里插入图片描述
一个完整的练习:画两条折线图

# 创建画布
plt.figure(figsize=(8,4))
# 分别给出两条线的坐标
points = [(-1,5),(1,6),(3,3),(5,4)]
points2 = [(-1,7),(1,8),(3,5),(5,6)]
# 解压缩
x1,y1 = zip(*points)
x2,y2 = zip(*points2)
# 参数label,定义折线名称,结合plt.legend()显示
plt.plot(x1,y1,label='价格')
plt.plot(x2,y2,label='销量')
plt.legend()
# 定义x,y轴名称
plt.xlabel('x 轴')
plt.ylabel('y 轴')
# 给表加标题
plt.title('xxx公司yyy信息图')
plt.show()

在这里插入图片描述

2.柱状图和条形图

坐标,还用上面的

x1,y1

在这里插入图片描述

x2,y2

在这里插入图片描述
plt.bar()柱状图

plt.bar(x1,y1,label='柱状图-1')
# 为了都显示, x2集体+1  
# 颜色可以用qq截图时,按住ctrl会显示的16进制颜色
plt.bar(np.array(x2)+1,y2,label='柱状图-2',color='#cb3966')
plt.legend()
plt.show()

在这里插入图片描述
plt.barh()条形图

plt.barh(x1,y1,label='柱状图-1')
plt.barh(np.array(x2)+1,y2,label='柱状图-2',color='#cb3966')
plt.legend()
plt.show()

在这里插入图片描述

3.直方图

plt.hist()
参数:rwidth每个柱子的宽度
align位置
histtype柱子类型

先定义一份年龄数据

ages = np.random.randint(18,81,200)

分区

np.arange(1,9)*10

做直方图

plt.hist(ages,bins,histtype='bar',rwidth=0.8,align='mid',label='年龄分布直方图')
plt.legend()
plt.xlabel('年龄区间')
plt.ylabel('人数')
plt.title('200人年龄分布')
plt.show()

在这里插入图片描述
文本类型

plt.text(0.6, 0.7, "天王盖地虎", size=20, rotation=45.,
         ha="center", va="center",
         bbox=dict(boxstyle="round",
                   ec=(1., 0.5, 0.5),
                   fc=(1., 0.8, 0.8),
                   )
         )
plt.text(0.55, 0.6, "小鸡炖蘑菇", size=20, rotation=-25.,
         ha="right", va="top",
         bbox=dict(boxstyle="square",
                   ec=(1., 0.5, 0.5),
                   fc=(1., 0.8, 0.8),
                   )
         )
plt.show()

在这里插入图片描述

4.饼状图

plt.pie()

创建数组

time_array = [8,2,10,4]
activity = '睡/吃/工作/玩'.split('/')

做图

plt.pie(
	time_array,
	labels=activity
	startangle=0 , # 起始角度
	colors = ['#b5b5b5','green','red','orange'],# 颜色列表
	shadow=True, # 阴影
	 explode=(0,0,0,0.2) ,  # 把哪一块拉出基于半径的距离比例
	 autopct='%.2f%%', # 占整体的百分比
	 labeldistance= 1.1 ,# label距离圆心的距离比例 .默认 1.1
	 pctdistance=0.6 , # 百分比距离圆心的距离比例,默认 0.6
    radius=1.5 , # 基于默认图的倍数
)
plt.show()

在这里插入图片描述

5.散点图

plt.scatter()

创建两个数组

x3 = np.arange(1,9)
y3 = np.random.randint(2,9,8)

做图

plt.scatter(
	x3,y3,
	s=40, #点的大小
	c='red',# 颜色
	marker='*',#形状
)
plt.show()

在这里插入图片描述

6.堆叠图

plt.stackplot()

创建数组

days = range(1,6)
eat =   [2, 3,3 ,1 ,4]
sleep = [10,5,11,8 ,7]
study = [8 ,7,2 ,1 ,12]
play =  [4 ,9,8 ,14,1]

做图`

plt.stackplot(days,eat,sleep,study,play,
			  labels=list('吃睡学玩'),
              colors =['red','orange','yellow','green'])            
plt.legend()
plt.xlabel('天数')
plt.ylabel('时间')
plt.show()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值