1、案例一

# coding=utf-8
from matplotlib import pyplot as plt
import random # 设置字体相关
from matplotlib import font_manager
my_font = font_manager.FontProperties(fname="D:\\study\\python-数据分析\\阿里汉仪智能黑体.ttf") y = [1, 0, 1, 1, 2, 4, 3, 2, 3, 4, 4, 5, 6, 5, 4, 3, 3, 1, 1, 1]
x = range(11,31) # 设置图形大小
plt.figure(figsize=(20, 8), dpi=80)

# 绘制图形
plt.plot(x, y) # 设置x轴刻度
_xtick_labels = ["{}岁".format(i) for i in x]
plt.xticks(x, _xtick_labels,fontproperties=my_font)
plt.yticks(range(0, 9)) # 标注最大值
plt.annotate('最大值', xy=(23, 6), xytext=(23, 7),
arrowprops=dict(facecolor='black', shrink=0.05),fontproperties=my_font
)
# 标注最小值
plt.annotate('最小值', xy=(12, 0), xytext=(12, 1),
arrowprops=dict(facecolor='black', shrink=0.05),fontproperties=my_font
)
# 绘制网格 alpha网格透明度
plt.grid(alpha=0.5) # 展示
plt.show()

2、案例二

# coding=utf-8
from matplotlib import pyplot as plt
import random # 设置字体相关
from matplotlib import font_manager
my_font = font_manager.FontProperties(fname="D:\\study\\python-数据分析\\阿里汉仪智能黑体.ttf") x = range(0, 120)
y = [random.randint(20, 35) for i in range(120)] plt.figure(figsize=(20, 8), dpi=80)
# 调整x轴的刻度
_x = list(x)
_xtick_labels = ["10点{}分".format(i) for i in range(60)]
_xtick_labels += ["11点{}分".format(i) for i in range(60)] # 取步长,数字和字符串一一对应,数据长度一样
# rotation旋转度数
# fontproperties设置字体
plt.xticks(_x[::3], _xtick_labels[::3], rotation=45, fontproperties=my_font)
plt.plot(x, y) # 添加描述信息
plt.xlabel("时间", fontproperties=my_font)
plt.ylabel("温度 单位(°C)", fontproperties=my_font) # 添加标题
plt.title("气温变化图", fontproperties=my_font)
plt.show()

3、案例三

# coding=utf-8
'''
绘制折线图Demo
'''
from matplotlib import pyplot as plt # x轴(axis)为24小时
x = range(0, 24, 2)
# y轴为13个数据
y = [15, 13, 5, 17, 20, 25, 26, 26, 24, 22, 18, 15] # 设置图片大小
plt.figure(figsize=(20, 8), dpi=80) # 保存图像
# plt.savefig("./气候图.png") # 设置x轴的刻度
# plt.xticks(x)
plt.xticks(range(0, 24, 2)) # xtick_lables = [i/2 for i in range(0, 49)]
# plt.xticks(_xtick_lables[::3]) # 设置y轴的刻度
plt.yticks(range(min(y), max(y), 2))
# 绘图
plt.plot(x, y)
# 展示图像
plt.show()

4、案例四---绘制多个直线图

# coding=utf-8
from matplotlib import pyplot as plt
import random # 设置字体相关
from matplotlib import font_manager
my_font = font_manager.FontProperties(fname="D:\\study\\python-数据分析\\阿里汉仪智能黑体.ttf") y_1 = [1,0,1,1,2,4,3,2,3,4,4,5,6,5,4,3,3,1,1,1]
y_2 = [1,0,3,1,2,2,3,3,2,1 ,2,1,1,1,1,1,1,1,1,1] x = range(11,31) #设置图形大小
plt.figure(figsize=(20,8),dpi=80) plt.plot(x,y_1,label="自己",color="#F08080")
plt.plot(x,y_2,label="同桌",color="#DB7093",linestyle="--") #设置x轴刻度
_xtick_labels = ["{}岁".format(i) for i in x]
plt.xticks(x,_xtick_labels,fontproperties=my_font)
# plt.yticks(range(0,9)) #绘制网格
plt.grid(alpha=0.4,linestyle=':') #添加图例
plt.legend(prop=my_font,loc="upper left") plt.grid(alpha=0.5)
#展示
plt.show()

matplotlib之折线图的更多相关文章

  1. python中matplotlib画折线图实例(坐标轴数字、字符串混搭及标题中文显示)

    最近在用python中的matplotlib画折线图,遇到了坐标轴 "数字+刻度" 混合显示.标题中文显示.批量处理等诸多问题.通过学习解决了,来记录下.如有错误或不足之处,望请指 ...

  2. python使用matplotlib绘制折线图教程

    Matplotlib是一个Python工具箱,用于科学计算的数据可视化.借助它,Python可以绘制如Matlab和Octave多种多样的数据图形.下面这篇文章主要介绍了python使用matplot ...

  3. Matplotlib学习---用matplotlib画折线图(line chart)

    这里利用Jake Vanderplas所著的<Python数据科学手册>一书中的数据,学习画图. 数据地址:https://raw.githubusercontent.com/jakevd ...

  4. 06. Matplotlib 2 |折线图| 柱状图| 堆叠图| 面积图| 填图| 饼图| 直方图| 散点图| 极坐标| 图箱型图

    1.基本图表绘制 plt.plot() 图表类别:线形图.柱状图.密度图,以横纵坐标两个维度为主同时可延展出多种其他图表样式 plt.plot(kind='line', ax=None, figsiz ...

  5. python用matplotlib画折线图

    折线图: import matplotlib.pyplot as plt y1=[10,13,5,40,30,60,70,12,55,25] x1=range(0,10) x2=range(0,10) ...

  6. Python开发【模块】:matplotlib 绘制折线图

    matplotlib 1.安装matplotlib ① linux系统安装 # 安装matplotlib模块 $ sudo apt-get install python3-matplotlib # 如 ...

  7. 【Python】matplotlib绘制折线图

    一.绘制简单的折线图 import matplotlib.pyplot as plt squares=[1,4,9,16,25] plt.plot(squares) plt.show() 我们首先导入 ...

  8. matplotlib系列——折线图

    import numpy as np import matplotlib.pyplot as plt import matplotlib #数据准备 #numpy.linspace(start, st ...

  9. python3绘图示例3(基于matplotlib:折线图等)

    #!/usr/bin/env python# -*- coding:utf-8 -*-from pylab import *from numpy import *import numpy # 数据点图 ...

随机推荐

  1. mysql5.7主从复制及相关注意点!

    首先在两台不同IP的服务器安装相同版本的mysql(也可以docker 用 network模式).例如 主数据库(master) 178.18.0.2 my.cnf的设置(一般在/etc/mysql/ ...

  2. 如何卸载rpm

    首先通过  rpm -q <关键字> 可以查询到rpm包的名字 或者rpm -qa|grep 关键字 然后 调用 rpm -e <包的名字> 删除特定rpm包 如果遇到依赖,无 ...

  3. 一文全面了解NB-IoT技术优势及特点

    1.NB-IOT多输入多输出技术 NB-IoT可以利用多天线技术抑制信道传输衰弱,获得分集增益.空间复用增益和阵列增益,在发送端和接收端均采用多天线实现信号同时发送和接收: 因此就形成了一个并行的多空 ...

  4. 小米Air 13.3 安装Arch Linux

    0. 前言 最近新买了一台小米Air 13.3,除了但键盘手感外都比较满意.我比较喜欢折腾Linux,但又不想放弃原有的Windows 10 Home,于是在原有的windows 10基础上再安装了A ...

  5. 完美解决Mysql的Access denied for user 'root'@'%的'问题

    背景:mysql5.6 root已授权所有数据库,执行过下面的语句 grant all privileges on *.* to 'root'@'%' identified by 'root' 当使用 ...

  6. springboot jpa junit测试遇到的问题

    jpa在插入数据的时候,插入的对象变量user中不能包含变量,需要时确切的值,否则会出现sql解析报错 解析报错如下图

  7. php面向对象相关技术

    step1 一个经典类的设计和实例化 <?php class mycoach { public $_name=''; public $_age=''; public $_expert=array ...

  8. 关于在react里面es6构建类的时候,一些开始的问题

    一般来说我们写react代码,个人习惯 这个里面没有constructor和super的,这样写也没啥问题.因为他会默认加上 但是有的时候有人会加上这两个 可以不写constructor,一旦写了co ...

  9. java笔记1-面向对象思想

    合适的方法放在合适的类之中. 设计中,分解出应该具有哪些对象(面向对象),不要再想步骤了(这是面向过程).设计过程: step1:问题中有哪些类和对象(找名词,之后区分是类还是属性) step2:这些 ...

  10. Codeforces Round #395 Div.1 C pacifist【JZOJ5449】Pacifist

    题目 papyrus 喜欢谜题... 来解一道如何? 在你面前有一个被加密了的数组,其原数组是一个等差序列,你面前的则是将原数组中的所有数字都对m 取模再打乱后而得到的新数组 papyrus 给你出的 ...