因经常需要画一些图,现在专门开一篇博客,记录各种画图使用的代码,目前主要用到的画图包有matplotlib,seaborn,pandas,pyecharts,seaborn等多种。博客不定期更新,用到即记录。

seaborn画热力图代码

直接上代码

# -*- coding: utf-8 -*-
"""
Created on Tue Aug  3 09:55:34 2021@author: HP
"""
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
sns.set()#解决中文显示问题
plt.rcParams['font.sans-serif'] = ['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False #用来正常显示负号
data = pd.read_excel('XX.xlsx', engine='openpyxl')
data.set_index('小时', inplace=True)
# 列逆序
data = data[list(data.columns)[::-1]]
# 按列求百分比
data = data.div(data.sum(axis=0), axis=1)
f, ax = plt.subplots(figsize=(9, 6))
#绘制热力图,还要将数值写到热力图上
sns.heatmap(data, annot=True, fmt="0.3f", ax=ax, cmap="OrRd")
#设置坐标字体方向
label_y = ax.get_yticklabels()
plt.setp(label_y, rotation=360, horizontalalignment='right')
label_x = ax.get_xticklabels()
plt.setp(label_x, rotation=45, horizontalalignment='right')
plt.title('seaborn热力图', fontsize=30)
plt.xlabel('X轴标签', fontsize=24)
plt.ylabel('Y轴标签', fontsize=24)
plt.xticks(fontsize=18)
plt.yticks(fontsize=18)
plt.show()

简单解释:

plt.rcParams['font.sans-serif'] = ['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False #用来正常显示负号

这两行代码画图常用,分别解决中文标签和负号乱码的问题。

data = pd.read_excel('XX.xlsx', engine='openpyxl')这行代码写入excel文件,但新版的xlsd是不支持xlsx文件的,所以要加入engine='openpyxl'这个参数。

data.set_index('小时', inplace=True)将dataframe的某列设置为索引,并替换原索引,我的列索引标签是小时。

data = data[list(data.columns)[::-1]]这行代码不是必须的,看个人数据,主要作用是将列数据逆序排一下。

data = data.div(data.sum(axis=0), axis=1)同上,也非必须,作用是显示列数据的百分比,而非原始数值。

sns.heatmap(data, annot=True, fmt="0.3f", ax=ax, cmap="OrRd")这是关键代码,annot=True作用是将数据值放到热力图上,fmt="0.3f"是设置数据的格式,cmap="OrRd"设置热力图颜色深浅,根据个人喜好需求设置。

后面是常规设置,不再解释。

看下效果:

后续待补充。

散点图及坐标轴间隔设置

x = data.XX.values.tolist()
y1 = data.XXX.values.tolist()
y11 = [x * 20 for x in y1]
y2 = data.XX.values.tolist()
y22 = [x * 20 for x in y2]plt.scatter(x, y1, s=y11, c='blue')                                            # s是圆形标记的大小
plt.scatter(x, y2, s=y22, c='red')
plt.legend(["XX", "XXX"], fontsize=24)
plt.xlabel("MM", fontsize=28)
plt.ylabel("NN", fontsize=28)
plt.title("TTT", fontsize=40)
plt.xticks(range(0, 42, 2), fontsize=22)                                       # 设置坐标轴间隔
plt.yticks(range(0, 22, 2), fontsize=22)

Python绘图记录专栏相关推荐

  1. python绘图subplots函数使用模板

    文章目录 背景 模板 显示中文 使用subplot(221) 使用subplots(2,2) 配合axs end 背景 使用python进行图像可视化,很多情况下都需要subplots将多幅图像绘制在 ...

  2. 【Python学习记录】Numpy广播机制(broadcast)

    ✨ 博客主页:小小马车夫的主页 ✨ 所属专栏:Python学习记录 文章目录 一.什么是Numpy广播机制 二.Numpy广播应用 三.Numpy广播规则 一.什么是Numpy广播机制 在Numpy. ...

  3. 分形、大自然的分形几何、数据可视化、Python绘图

    分形.大自然的分形几何.数据可视化.Python绘图 中国传统中的『分形』 大自然的分形几何 数据可视化 本系列采用turtle.matplotlib.numpy这三个Python工具,以分形与计算机 ...

  4. python 绘图-时间显示

    我们可以使用python绘图功能,来实现我们的日历显示,还可以与我们的电脑时间同步 接下来我们看一种简易的代码 import turtle def drawLine(draw):turtle.pend ...

  5. Opencv+Python学习记录9:掩膜(掩码)的使用(内附详细代码)

    一,基本概念 OpenCV中的很多函数都会指定一个掩模,也被称为掩码,例如: 计算结果=cv2.add(参数1,参数2,掩模) 当使用掩模参数时,操作只会在掩模值为非空的像素点上执行,并将其他像素点的 ...

  6. python绘图-共享双轴

    记录学习笔记,供自己学习! python绘图共享双轴代码:柱状图+折线图 df = pd.read_excel('./1.xlsx',sheet_name = 'Sheet1') df1 = pd.r ...

  7. 分形、分形几何、数据可视化、Python绘图

    本系列采用turtle.matplotlib.numpy这三个Python工具,以分形与计算机图像处理的经典算法为实例,通过程序和图像,来帮助读者一步步掌握Python绘图和数据可视化的方法和技巧,并 ...

  8. Python实战教程专栏完整目录

    Python实战教程专栏完整目录 专栏说明如下 完整专栏目录如下 专栏说明如下 内容:Python实战教程 数量:280篇博文(2023年3月17日截止) 更新时间至:2023年3月17日(后续加上去 ...

  9. 解决python绘图中中文及其他符号显示问题

    解决python绘图中中文及其他符号显示问题,记录如下: import matplotlib.pyplot as plt# 设置显示中文 plt.rcParams['font.sans-serif'] ...

最新文章

  1. python计算wav的语谱图_Python实现电脑录音(含音频基础知识讲解)
  2. 全网最火的Nacos监控中心——Prometheus+Grafana
  3. 【高薪】阿联酋起源人工智能研究院诚邀优秀人才(博士)
  4. 火狐浏览器信息提取工具Dumpzilla
  5. jquery调用asp.net 页面后台的实现代码
  6. 世界上只有一种英雄主义,那就是看清生活的真相之后,依然热爱生活,加油小伙子...
  7. .net研发工程师面试题,在线交流答案
  8. Azure IoT Edge on Windows 10 IoT Core
  9. Java岗大厂面试百日冲刺 - 日积月累,每日三题【Day7
  10. 抓包分析arp攻击Linux,从抓包分析角度分析arp攻击
  11. Adjustment Office
  12. 安卓动画壁纸实战:制作一个星空动态壁纸(带随机流星动画)
  13. 能锦上添花不能雪中送炭,公关救不了货车帮和作业帮
  14. Unity实现摄像头录像功能
  15. 基于单片机的温度计设计
  16. java 注解处理_在java代码中,看到注解,如何查看注解处理器
  17. 洛谷P1080 [NOIP2012 提高组] 国王游戏(贪心,高精度)
  18. Android开发视频教程大总结—23部视频教程
  19. stable diffusion prompts
  20. 转载:基于Xlinx的时序分析、约束和收敛(2)— 基础概念(上)

热门文章

  1. PV + MPPT +均匀辐射
  2. Java Web程序设计第12章课后第2题
  3. 读的, 且经过美化, 能在所有 JavaScript 环境中运行, 并且应该和对应手写的 JavaScript 一样快或者更快.
  4. 如何利用训练好的神经网络进行预测
  5. pytorch Kfold数据集划分
  6. 毕业设计 树莓派人脸识别系统(Python)
  7. javascript TSP
  8. 学生免费申请JetBrains许可证
  9. latex初学者入门(二)
  10. 【数值优化之凸集与凸函数】