Python之matplotlib绘制折线图


Posted in Python onApril 13, 2022

前面我们已经构造了一种图形可视化的模板了,下面我们直接使用这个模板进行增添和修改,进一步的改善图形的外观。

import matplotlib.pyplot as plt
 
# 画布
plt.figure(figsize=(9,3),   # (宽度 , 高度) 单位inch 
           dpi=100,         #  清晰度 dot-per-inch
           facecolor='#CCCCCC', # 画布底色
           edgecolor='black',linewidth=0.2,frameon=True, # 画布边框
           #frameon=False  # 不要画布边框
          )         
 
# ax = plt.gca()
# ax.plot()
 
plt.plot()
plt.show()

Python之matplotlib绘制折线图

设置好基本的图形之后,我们就可以向上面添加一些数据了

(图例放置位置)

"""legend( handles=(line1, line2, line3),
           labels=('label1', 'label2', 'label3'),
           'upper right')
    The *loc* location codes are::
          'best' : 0,          (currently not supported for figure legends)
          'upper right'  : 1,
          'upper left'   : 2,
          'lower left'   : 3,
          'lower right'  : 4,
          'right'        : 5,
          'center left'  : 6,
          'center right' : 7,
          'lower center' : 8,
          'upper center' : 9,
          'center'       : 10,"""

折线图案例

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
 
# 画布
plt.figure(figsize=(15,5),   # (宽度 , 高度) 单位inch 
           dpi=100,         #  清晰度 dot-per-inch
           facecolor='#CCCCCC', # 画布底色
           edgecolor='black',linewidth=0.2,frameon=True, # 画布边框
           #frameon=False  # 不要画布边框
          )         
 
 
# 数据
x = np.linspace(0, 2 * np.pi, 50)  
y1 = np.sin(x)
y2 = np.cos(x)
df = pd.DataFrame([x,y1,y2]).T
df.columns = ['x','sin(x)','cos(x)']
 
# 图形
plt.plot(df['x'],df['sin(x)'],label='sin(x)')
plt.plot(df['x'],df['cos(x)'],label='cos(x)')
 
# 图例
plt.legend(loc='lower right')  # 不带参数的时候,使用图形的label属性
# plt.legend(labels=['sin','cos'])
 
# 标题
#plt.title("sin(x) and cos(x)",loc='center',y=0.85)
 
# 字体字典
font_dict = {'fontsize': 12, 'fontweight': 'bold', 'color': 'green'}
plt.title("sin(x) and cos(x)",loc='center',y=0.9, fontdict=font_dict)

Python之matplotlib绘制折线图

查看全局参数

# matplotlib.pyplot的全局参数
plt.rcParams
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
 
# 设置中文字体
plt.rcParams['axes.unicode_minus'] = False    # 不使用中文减号
plt.rcParams['font.sans-serif'] = 'FangSong'  # 设置字体为仿宋(FangSong)
# 画布
plt.figure(figsize=(15,5),   # (宽度 , 高度) 单位inch 
           dpi=120,         #  清晰度 dot-per-inch
           facecolor='#CCCCCC', # 画布底色
           edgecolor='black',linewidth=0.2,frameon=True, # 画布边框
           #frameon=False  # 不要画布边框
          )         
 
 
# 数据
x = np.linspace(0, 2 * np.pi, 50)  
y1 = np.sin(x)
y2 = np.cos(x)
df = pd.DataFrame([x,y1,y2]).T
df.columns = ['x','sin(x)','cos(x)']
 
# 图形
plt.plot(df['x'],df['sin(x)'],label='sin(x)')
plt.plot(df['x'],df['cos(x)'],label='cos(x)')
 
# 图例
plt.legend()
 
# 标题
#plt.title("sin(x) and cos(x)",loc='center',y=0.85)
 
# 字体字典
font_dict = {'fontsize': 10, 'fontweight': 'bold', 'color': 'grey'}
 
# 中文标题, 默认的字体不支持中文
plt.title("三角函数:正弦和余弦",loc='center',y=0.9, fontdict=font_dict)

Python之matplotlib绘制折线图

 改变字体

# 字体字典
font_dict = {'fontsize': 10, 'fontweight': 'bold', 'color': 'grey'}
 
# 中文标题, 默认的字体不支持中文
plt.title("三角函数:正弦和余弦",loc='center',y=0.9, fontdict=font_dict)

Python之matplotlib绘制折线图

添加X轴和Y轴

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
 
# 画布
plt.figure(figsize=(15,5),   # (宽度 , 高度) 单位inch 
           dpi=120,         #  清晰度 dot-per-inch
           facecolor='#CCCCCC', # 画布底色
           edgecolor='black',linewidth=0.2,frameon=True, # 画布边框
           #frameon=False  # 不要画布边框
          )         
 
 
# 数据
x = np.linspace(0, 2 * np.pi, 50)  # 
y1 = np.sin(x)
y2 = np.cos(x)
df = pd.DataFrame([x,y1,y2]).T
df.columns = ['x','sin(x)','cos(x)']
 
 
 
 
 
# 标题
#plt.title("sin(x) and cos(x)",loc='center',y=0.85)
 
# 字体字典
font_dict = {'fontsize': 10, 'fontweight': 'bold', 'color': 'black','fontfamily':'KaiTi'}
 
# 设置全局中文字体
plt.rcParams['font.sans-serif'] = 'KaiTi' # 设置全局字体为中文 楷体
plt.rcParams['axes.unicode_minus'] = False # 不使用中文减号
 
# 常用中文字体
# 宋体 SimSun
# 黑体 SimHei
# 微软雅黑 Microsoft YaHei
# 微软正黑体 Microsoft JhengHei
# 新宋体 NSimSun
# 新细明体 PMingLiU
# 细明体 MingLiU
# 标楷体 DFKai-SB
# 仿宋 FangSong
# 楷体 KaiTi
 
# 中文标题, 默认的字体不支持中文
plt.title("三角函数:正弦和余弦",loc='center',y=1, fontdict=font_dict)
 
# Axes 坐标系设置
ax = plt.gca()  # 获取当前坐标系
ax.set_facecolor('#FEFEFE')  # 设置坐标系参数。。。。
#plt.xlabel()  =>  ax.set_xlabel()
# ax.set_facecolor('#EE2211')
# ax.set_alpha(0.15)
# plt.title() => ax.set_title("AX TITLE")  
 
 
# X轴标签
plt.xlabel("X轴")  # loc: 左中右 left-center-right
# Y轴标签
plt.ylabel("Y轴")   # loc: 上中下 top-center-bottom
 
# X轴范围
plt.xlim(0,np.pi)  # 只显示X在0-Pi之间的部分
# Y轴范围
plt.ylim([0,1.1])  # 只显示Y在0-1之间的部分
 
# X轴刻度
xticks = np.array([0,1/4,2/4,3/4,1]) * np.pi      # X 轴上刻度的值
labels = ["0",'1/4 Π','1/2 Π','3/4 Π', 'Π']  # X 轴上刻度标签
plt.xticks(xticks, labels)   # 如果没有传入labels,直接使用ticks作为labels
# Y轴刻度
yticks = np.arange(0.0,1.2,0.2)     # X 轴上刻度的值
plt.yticks(yticks)   # 如果没有传入labels,直接使用ticks作为labels
 
# 根据刻度画网格线
#plt.grid()
plt.grid(axis='x')  # axis: both, x, y 在哪个轴上画格子
 
# 图形
plt.plot(df['x'],df['sin(x)'],label='sin(x)')
plt.plot(df['x'],df['cos(x)'],label='cos(x)')
 
# 图例
plt.legend()
# plt.legend(labels=['sin','cos'])

Python之matplotlib绘制折线图

 折线图绘制万能模板

# 处理数据
df = pd.read_csv(r'unemployment-rate-1948-2010.csv',usecols=['Year','Period','Value'])
df.replace('^M','-',regex=True, inplace=True)
df['year_month'] = df['Year'].astype('U') + df['Period']
 
# 设置画布和参数
plt.figure(figsize=(16,4), dpi=130, facecolor='white', edgecolor='black', frameon=True)# 画布底色
 
 
# 添加数据
plt.plot(df['year_month'], df['Value'],'c')#改变颜色和线条
 
'''
一般不需要改动下面的,只需要设置一些固定常量
'''
 
# 构造X轴标签,一般不用设置
xticks = [df['year_month'][i] for i in np.arange(0,df['year_month'].size,15)]#X轴的显示
#X轴设置倾斜度,可以解决标签过长的问题,大小可以设置默认
plt.xticks(xticks,rotation=100,size=10)
 
# 设置图形上的各类主题值
plt.suptitle('主标题:unemployment-rate-1948-2010',size=17,y=1.0)
plt.title("绘制日期:2022年   昵称:王小王-123", loc='right',size=15,y=1)
 
plt.title("主页:https://blog.csdn.net/weixin_47723732", loc='left',size=12,y=1)
 
# 设置坐标轴上的字体标签
font_dict = {'fontsize': 15, 'fontweight': 'bold', 'color': 'black','fontfamily':'KaiTi'}
plt.xlabel('年月',font_dict)
plt.ylabel('失业率',font_dict)

Python之matplotlib绘制折线图

到此这篇关于matplotlib绘制折线图的基本配置(万能模板案例)的文章就介绍到这了!

Python 相关文章推荐
python通过floor函数舍弃小数位的方法
Mar 17 Python
使用Python神器对付12306变态验证码
Jan 05 Python
Python操作MySQL模拟银行转账
Mar 12 Python
pandas string转dataframe的方法
Apr 11 Python
Python实现随机生成手机号及正则验证手机号的方法
Apr 25 Python
Python流程控制 if else实现解析
Sep 02 Python
python3中rank函数的用法
Nov 27 Python
python实现双色球随机选号
Jan 01 Python
关于tf.reverse_sequence()简述
Jan 20 Python
通过实例解析Python return运行原理
Mar 04 Python
用Python 执行cmd命令
Dec 18 Python
Python如何加载模型并查看网络
Jul 15 Python
Python之matplotlib绘制饼图
Python线程池与GIL全局锁实现抽奖小案例
Python之Matplotlib绘制热力图和面积图
Python matplotlib绘制雷达图
Python万能模板案例之matplotlib绘制甘特图
Python万能模板案例之matplotlib绘制直方图的基本配置
python创建字典及相关管理操作
You might like
PHP5 安装方法
2007/01/15 PHP
php数组函数序列之array_flip() 将数组键名与值对调
2011/11/07 PHP
分享一个PHP数据流应用的简单例子
2012/06/01 PHP
php自定义错误处理用法实例
2015/03/20 PHP
PHP实现求解最长公共子串问题的方法
2017/11/17 PHP
Javascript调用C#代码
2011/01/17 Javascript
JS 有趣的eval优化输入验证实例代码
2013/09/22 Javascript
JS仿Windows开机启动Loading进度条的方法
2015/02/26 Javascript
JQuery中clone方法复制节点
2015/05/18 Javascript
基于Jquery代码实现支持PC端手机端幻灯片代码
2015/11/17 Javascript
javascript断点调试心得分享
2016/04/23 Javascript
JavaScript中的Array 对象(数组对象)
2016/06/02 Javascript
JS短信验证码倒计时功能的实现(没有验证码,只有倒计时)
2016/10/27 Javascript
jQuery EasyUI Draggable拖动组件
2017/03/01 Javascript
node.js+captchapng+jsonwebtoken实现登录验证示例
2017/08/17 Javascript
Vue头像处理方案小结
2018/07/26 Javascript
vue  自定义组件实现通讯录功能
2018/09/30 Javascript
用Angular实现一个扫雷的游戏示例
2020/05/15 Javascript
python求pi的方法
2014/10/08 Python
Python for Informatics 第11章 正则表达式(一)
2016/04/21 Python
Linux 发邮件磁盘空间监控(python)
2016/04/23 Python
浅谈Python中的可变对象和不可变对象
2017/07/07 Python
Python File readlines() 使用方法
2018/03/19 Python
python实现小球弹跳效果
2019/05/10 Python
python匿名函数用法实例分析
2019/08/03 Python
解决pyshp UnicodeDecodeError的问题
2019/12/06 Python
Python装饰器原理与基本用法分析
2020/01/07 Python
德尔福集团DELPHI的笔试题
2012/02/22 面试题
大学学习个人的自我评价
2014/02/18 职场文书
新学期开学演讲稿
2014/05/24 职场文书
项目申报专员岗位职责
2014/07/09 职场文书
招商引资工作汇报
2014/10/28 职场文书
党员教师群众路线个人整改措施
2014/10/28 职场文书
逃课检讨书
2015/01/26 职场文书
创业的9条正确思考方式
2019/08/26 职场文书
Python Django模型详解
2021/10/05 Python