pandas 常见绘图总结

2023-11-04

pandas 常见绘图总结

前言

pandas的强大让人毋庸置疑,一个集数据审阅、处理、分析、可视化于一身的工具,非常好用。
大家都知道,Matplotlib 是众多 Python 可视化包的鼻祖,也是Python最常用的标准可视化库,其功能非常强大,同时也非常复杂,想要搞明白并非易事。所幸pandas本身就有数据可视化的功能已经可以满足我们大部分的要求了,也就省下了我们很多自己使用 如 Matplotlib 来数据可视化的工作。

一 设置字体和显示中文

Pandas在绘图时,会显示中文为方块,主要原因有二: matplotlib 字体问题,seaborn 字体问题。
没有中文字体,所以我们只要手动添加中文字体的名称就可以了,不过并不是添加我们熟悉的“宋体”或“黑体”这类的名称,而是要添加字体管理器识别出的字体名称,matplotlib自身实现的字体管理器在文件font_manager.py中,自动生成的可用字体信息在保存在文件fontList.cache里,可以搜索这个文件查看对应字体的名称,例如simhei.ttf对应的名称为’SimHei’,simkai.ttf对应的名称为’KaiTi_GB2312’等。因此我们只要把这些名称添加到配置文件中去就可以让matplotlib显示中文。


import matplotlib as mpl
mpl.rcParams['font.sans-serif'] = ['KaiTi']
mpl.rcParams['font.serif'] = ['KaiTi']
mpl.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题,或者转换负号为字符串

import seaborn as sns
sns.set_style("darkgrid",{
   "font.sans-serif":['KaiTi', 'Arial']})   #这是方便seaborn绘图得时候得字体设置

二 pandas 可视化(0.25.3版本)

“有道无术术尚可求,有术无道,止于术。”
这段话在可视化里面的意思就是:首相想清楚你要干嘛,不要一上来就瞎画一堆图,自己觉得NB,但是图都错的再牛逼也只是好看,并没什么作用。
画图前你要思考这几个问题:

  • 你为什么要画图?
  • 你要画什么图?
  • 你这样画图对不对?

1 线形图

普通折线图以折线的上升或下降来表示统计数量的增减变化的统计图,叫作折线统计图。折线统计图不仅可以表示数量的多少,而且可以反映同一事物在不同时间里的发展变化的情况,虽然它不直接给出精确的数据(当然你也可以加上去),但是能够显示数据的变化趋势,反映事物的变化情况。

pandas 有两种绘制线形图的方法,一种是下面这种直接的利用DataFrame.plot()

test_dict = {
   '销售量':[1000,2000,5000,2000,4000,3000],'收藏':[1500,2300,3500,2400,1900,3000]}
line = pd.DataFrame(test_dict,index=
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

pandas 常见绘图总结 的相关文章

随机推荐

  • MFC中OnTimer定时器用法

    一 单个定时器用法 定时器工作主要流程 设置定时器SetTimer 时间到后调用OnTimer函数 关闭定时器KillTimer 可以在程序初始化用SetTimer函数弄成多个线程类似 并行进行多个函数功能 1 1 SetTimer H n
  • Python实现排队论——多坑位仿真(未使用仿真库,纯手写仿真)

    Python实现排队论 多坑位厕所 在一次偶然机会 接触到运筹学的排队论问题 于是简单尝试了一下硬撸代码 纯手打仿真 没有使用仿真库 建议大家可以学习Simpy库 用以仿真 一 案例 主要是基于 蒙特卡罗思想 求解 单坑位 排队等待时间问题
  • 动手做一个简单的智能小车

    动手做一个简单的智能小车 来到CNDN一年了 看到了许多大佬的杰出作品 也该写点什么来回馈给大家了前不久接触了单片机 想提前进行实践一下所以有想法做一个实体出来 想来想去难的怕自己搞不定 但是还好找到了志同道合的王同学 一起搞一个智能小车
  • 数据结构与算法课程笔记(十)

    实验十 图的存储结构与遍历 一 实验目的 二 实验环境 三 实验内容 一 实验目的 掌握图的邻接矩阵表示方法 理解基于邻接矩阵的深度优先 广度优先遍历方法的实现 掌握图的邻接表表示方法 理解基于邻接表的深度优先 广度优先遍历方法的实现 二
  • Java Socket 之 NIO

    对于 TCP 或 UDP 的服务器 如何实现并发处理客户端 最直观的想法就是为每个到来的请求 创建一个单独的线程来处理 但是这种方式未免太浪费资源了 那可以使用线程池来管理线程 这样可以节约资源 以 TCP 服务器举例 首先需要定义一个需要
  • C++ 穷举法

    今天我们来了解一下C 语言中 解决问题的一个较为常用的方法 穷举法 我们先来了解一下它的基本原理 再来做一些题目巩固一下 穷举又叫枚举 就是先确立一个范围 再把这个范围里的数 一个一个的带入题目中尝试 如果符合题目中的所有条件 那么这道题就
  • 读取Linux中I2C数据——c程序

    关于在Linux下读取I2C数据 该程序主要是在树莓派中读取AMG8833传感器中的64个温度数据 借鉴了一些网上的方法 然后参考芯片的数据手册 数据的存储格式 本芯片是2个字节存放一个数据 include
  • 搭建云原生环境

    1 安装准备工作 确保所有被安装服务器时区和时间一致 时间不一致会影响 Elasticsearch 和 Skywalking 等信息无法采集的情况出现 在各个服务器上安装时间同步命令工具 yum install ntp y 使用 ntpda
  • AJAX--XMLHttpRequest的方法

    AJAX XMLHttpRequest XMLHttpRequest是浏览器内置的一个构造函数 作用是 基于new出来的XMLsHttpRequest实例对象 可以发起Ajax的请求 axios中的axios get axios post
  • CSS Grid布局:合并单元格布局

    CSS Grid布局 网格单元格布局 一文中通过一些简单的实例介绍了如何给容器定义网格 并且怎么使用网格线或者网格区域来实现单元格这样的简单的布局 在文章结尾之处也提到过 这样的单元格如同表格一样 仅仅一个个独立的单元格是无法满足一些复杂的
  • 软件测试基础

    软件测试基础 一 软件测试基础理论 1 软件测试的必要性 所有的产品或者服务上线都需要测试 2 测试的发展过程 3 什么是软件测试 找bug 发现缺陷 4 测试的定义 使用人工或自动的手段来运行或者测试某个系统的过程 目的在于检测它是否满足
  • JSON parse error: Cannot deserialize instance of `java.util.ArrayList

    前言 今天测试接口 JSON里面有个集合 一直报错如下所示 name 到底怎么回事呢 status 0 tenantId 123 createId 123 modifyId 123 labelItemRelations itemId 111
  • 为什么Vue中data一定要是一个函数?

    1 什么是函数 函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块 js函数语法 函数就是包裹在花括号中的代码块 前面使用了关键词 function 当调用该函数时 会执行函数内的代码 可以在某事件发生时直接调用函数 比如当用户点击
  • Android--- Layout

    Android Layout Linear Layout Relative Layout Table Layout Grid Layout Frame Layout Constraint Layout Linear Layout
  • 【Java实践】java实现注册表单处理

    import java io IOException import javax servlet ServletException import javax servlet http HttpServlet import javax serv
  • android 仿钉钉日历,仿钉钉左右滑动日历

    先上我的效果图 再说思路 我这里不贴代码 思路 懂了 不管用前端还是移动端 都可以做出来的 做这个左后滑动的日历之前 首先无从下手的 有两个地方 第一 该怎么实现 左右滑动效果 第二 展示的日期是怎么计算的 因为我们是用ionic2 写的项
  • 【Docker+Mysql】docker搭建的mysql8.0中文乱码问题

    环境 CentOS 7 mysql docker 问题描述 查询数据库时 发现服务器端数据出现中文乱码问题 所有中文显示成问号 导致我的接口访问使用从数据库中读取出来的数据无法处理 解决过程 使用Docker搭建mysql容器 和不使用Do
  • 【python爬虫】1.爬虫基础知识

    文章目录 前言 初识爬虫 什么是爬虫 为什么需要爬虫 明晰路径 浏览器的工作原理 爬虫的工作原理 体验爬虫 requests get Response对象的常用属性 爬虫伦理 总结 前言 很高兴能在这里遇见你 我将会带你学习网络爬虫 我们可
  • MySql范围查找时,索引不生效问题原因

    1 问题描述 本文对建立好的复合索引进行排序 并取记录中非索引字段 发现索引不生效 例如 有如下表 DDL语句为 CREATE TABLE employees emp no int 11 NOT NULL birth date date N
  • pandas 常见绘图总结

    pandas 常见绘图总结 文章目录 pandas 常见绘图总结 前言 一 设置字体和显示中文 二 pandas 可视化 0 25 3版本 1 线形图 2 条形图 2 1 垂直条形图 2 2 水平条形图 3 饼图 4 散点图 4 1 普通散