python-Matplotlib-one

matplotlib 的安装:

  • matplotlib是python的基础绘图库,他可以与NumPy一起使用,代替matlab使用.
  • pip install matplotlib -i https://pypi.tuna.tsinghua.edu.com/simple;
    官方链接: 官网
  • -i : 表示安装源,国外源较慢,推荐国内几个源;
  • 单个python环境时,使用jupyter notebook运行,多个python环境时,使用python -m notebook来运行(推荐使用虚拟环境,备注:jupyter安装时报错,也可创建虚拟环境来解决,其原因不赘);
  • 可以绘制折线图,散点图,条形图,直方图,饼图
    链接: 官方图形讲解.

Matplotlib

  1. 图片与子图
    matplotlib所绘制的图位于图片(Figure)对象中,通过plt.figure生成一个新的图片:
    from matplotlib import pyplot as plt
    fig = plt.figure()
    
  2. 折线图
    plt.figure(figsize = (14,8)) #宽,高
    y = [15,13,14,15,17,20,25,26,27,22,18,15]
    x = range(0, 23, 2)
    x_t = [i/2 for i in range(48)] #刻度---> |
    x_l = ["{}h".format(i/2) for i in range(48)] #标签 ---> 0.0h
    
    y_t = range(min(y), max(y)+1) #左闭右开,故+1
    plt.yticks(y_t)
    plt.xlabel("time")
    plt.ylabel("temperature")
    plt.title("temperature change!")
    plt.grid()
    plt.plot(x, y)
    plt.xticks(x_t,x_l, rotation=45)
    plt.savefig("temperature-change.jpg")
    plt.show()
    

运行如下图:

在这里插入图片描述

例子:

如果列表a表示10点到12点的每一分钟的气温,如何绘制折线图观察每分钟气温的变化

x = range(0,120)
y = [random.randint(18,39) for i in range(120)] #randint能够获取右边最大值
plt.plot(x,y)
x_t = range(0,120,10)
x_l = ["十点{}分".format(i) for i in range(0,60,10)]
x_l += ["十一点{}分".format(i) for i in range(0,60,10)]
## 字体设置方法
### 第一种方法:
#font = {'family' : 'SimHei', #字体格式只能为ttf
#'weight' : 'bold',
#'size'   : 12}
#matplotlib.rc('font', **font)
### 第二种方法
#plt.rcParams['font.sans-serif'] = ['SimHei']
#plt.rcParams['axes.unicode_minus'] = False
### 第三种方法
from matplotlib.font_manager import FontProperties
font = FontProperties(fname=r"C:\Windows\Fonts\simsun.ttc", size=12)
plt.xticks(x_t,x_l,rotation=45,FontProperties=font)

plt.show()

运行如下图:

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值