01.Matplotlib-新手入门

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

折线图

plt.plot()

# 准备画布 参数 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()

在这里插入图片描述

# 准备画布 参数 figsize 规定画布的大小。如下是8x4英寸。1英寸=72像素dpi
plt.figure(figsize=(8,4),facecolor='cyan')
# plot 折线图
plt.plot([1,2,3],[5,7,5],'black')
plt.plot([4,5,6],[5,7,5],'black')
plt.plot([2,3,4,5],[3,1,1,3],'red')
# 只显示图
plt.show()

在这里插入图片描述

# 画一个 颜色相同的笑脸
# 创建坐标值
lab=[(-5,4),(-4,5),(-3,4)]
# 可以用推导式取出所有 x 和 y
x=[each[0] for each in lab]
y=[each[1] for each in lab]
x
[-5, -4, -3]
y
[4, 5, 4]
list(zip(x,y))
[(-5, 4), (-4, 5), (-3, 4)]
# 直接解压得到所有x,y
list(zip(*zip(x,y)))
[(-5, -4, -3), (4, 5, 4)]
x2,y2=zip(*lab)
x2
(-5, -4, -3)
y2
(4, 5, 4)
plt.plot(x2,y2,color='pink',linestyle='-.')
[<matplotlib.lines.Line2D at 0x2c7192d8550>]

在这里插入图片描述

plot常用参数

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

# 画2个线条
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()
plt.xlabel('时 间')
plt.ylabel('y 轴')
plt.title('xxx公司xxx信息图')
plt.show()

在这里插入图片描述

柱状图、条形图

plt.bar()

plt.bar(x1,y1)
plt.show()

在这里插入图片描述

plt.bar(x1,y1,label='柱状图-1',color='#5AB9C1')
# 为了都显示,x2集体加1
plt.bar(np.array(x2)+1,y2,label='柱状图-2',color='#98D2D6')
​
plt.legend()
plt.show()

在这里插入图片描述

plt.barh()条形图

plt.barh(x1,y1,label='柱状图-1',color='#5AB9C1')
# 为了都显示,x2集体加1
plt.barh(np.array(x2)+1,y2,label='柱状图-2',color='#98D2D6')
​
plt.legend()
plt.show()

在这里插入图片描述

直方图

plt.hist()

# 准备年龄数据
ages=np.random.randint(18,81,200)
# 准备一个分箱
# bins=np.arange(10,81,10)
bins=np.arange(1,9)*10# rwidth='每个柱子的宽度'
plt.hist(ages,bins,histtype='bar',rwidth=0.8,label='年龄分布直方图')
plt.legend()
plt.title('200人年龄分布')
plt.xlabel('年 龄 区 间')
plt.ylabel('人 数')
plt.show()

在这里插入图片描述

import matplotlib.pyplot as plt
​
plt.text(0.6, 0.7, "eggs", size=50, rotation=30.,
         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, "spam", size=50, rotation=-25.,
         ha="right", va="top",
         bbox=dict(boxstyle="square",
                   ec=(1., 0.5, 0.5),
                   fc=(1., 0.8, 0.8),
                   )
         )
​
plt.show()

在这里插入图片描述

饼状图

plt.pie()

time_array=[8,2,10,4]
activity='睡/吃/工作/玩'.split('/')
plt.pie(
    time_array,
    labels=activity,   
    startangle=0,  #起始角度
    colors=['pink','blue','r','orange'],
    shadow=True,
    explode=(0,0,0,0.2),  #把哪一块拉出基于半径的距离比例
    autopct='%0.2f%%',  #占整体的百分比
    labeldistance=1.1,  #label距离圆心的距离比例,默认1.1
    pctdistance=0.6,   #百分比距离圆心的距离比例,默认0.6
    radius=1.5,  #基于默认图的倍数
    )
plt.show()

在这里插入图片描述

散点图

plt.scatter()

x3=np.arange(1,9)
y3=np.random.randint(2,9,8)
plt.scatter(
    x3,y3,
    s=40 , # 控制点的大小
    c = 'red',  # 颜色
    marker='*' , #形状
)
# np.linspace(start ,end ,n = 50)在start -end中均匀的返回n个数字
plt.plot(x3,np.linspace(2,8,8))
plt.show()

在这里插入图片描述

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值