Python绘图记录专栏
因经常需要画一些图,现在专门开一篇博客,记录各种画图使用的代码,目前主要用到的画图包有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绘图记录专栏相关推荐
- python绘图subplots函数使用模板
文章目录 背景 模板 显示中文 使用subplot(221) 使用subplots(2,2) 配合axs end 背景 使用python进行图像可视化,很多情况下都需要subplots将多幅图像绘制在 ...
- 【Python学习记录】Numpy广播机制(broadcast)
✨ 博客主页:小小马车夫的主页 ✨ 所属专栏:Python学习记录 文章目录 一.什么是Numpy广播机制 二.Numpy广播应用 三.Numpy广播规则 一.什么是Numpy广播机制 在Numpy. ...
- 分形、大自然的分形几何、数据可视化、Python绘图
分形.大自然的分形几何.数据可视化.Python绘图 中国传统中的『分形』 大自然的分形几何 数据可视化 本系列采用turtle.matplotlib.numpy这三个Python工具,以分形与计算机 ...
- python 绘图-时间显示
我们可以使用python绘图功能,来实现我们的日历显示,还可以与我们的电脑时间同步 接下来我们看一种简易的代码 import turtle def drawLine(draw):turtle.pend ...
- Opencv+Python学习记录9:掩膜(掩码)的使用(内附详细代码)
一,基本概念 OpenCV中的很多函数都会指定一个掩模,也被称为掩码,例如: 计算结果=cv2.add(参数1,参数2,掩模) 当使用掩模参数时,操作只会在掩模值为非空的像素点上执行,并将其他像素点的 ...
- python绘图-共享双轴
记录学习笔记,供自己学习! python绘图共享双轴代码:柱状图+折线图 df = pd.read_excel('./1.xlsx',sheet_name = 'Sheet1') df1 = pd.r ...
- 分形、分形几何、数据可视化、Python绘图
本系列采用turtle.matplotlib.numpy这三个Python工具,以分形与计算机图像处理的经典算法为实例,通过程序和图像,来帮助读者一步步掌握Python绘图和数据可视化的方法和技巧,并 ...
- Python实战教程专栏完整目录
Python实战教程专栏完整目录 专栏说明如下 完整专栏目录如下 专栏说明如下 内容:Python实战教程 数量:280篇博文(2023年3月17日截止) 更新时间至:2023年3月17日(后续加上去 ...
- 解决python绘图中中文及其他符号显示问题
解决python绘图中中文及其他符号显示问题,记录如下: import matplotlib.pyplot as plt# 设置显示中文 plt.rcParams['font.sans-serif'] ...
最新文章
- python计算wav的语谱图_Python实现电脑录音(含音频基础知识讲解)
- 全网最火的Nacos监控中心——Prometheus+Grafana
- 【高薪】阿联酋起源人工智能研究院诚邀优秀人才(博士)
- 火狐浏览器信息提取工具Dumpzilla
- jquery调用asp.net 页面后台的实现代码
- 世界上只有一种英雄主义,那就是看清生活的真相之后,依然热爱生活,加油小伙子...
- .net研发工程师面试题,在线交流答案
- Azure IoT Edge on Windows 10 IoT Core
- Java岗大厂面试百日冲刺 - 日积月累,每日三题【Day7
- 抓包分析arp攻击Linux,从抓包分析角度分析arp攻击
- Adjustment Office
- 安卓动画壁纸实战:制作一个星空动态壁纸(带随机流星动画)
- 能锦上添花不能雪中送炭,公关救不了货车帮和作业帮
- Unity实现摄像头录像功能
- 基于单片机的温度计设计
- java 注解处理_在java代码中,看到注解,如何查看注解处理器
- 洛谷P1080 [NOIP2012 提高组] 国王游戏(贪心,高精度)
- Android开发视频教程大总结—23部视频教程
- stable diffusion prompts
- 转载:基于Xlinx的时序分析、约束和收敛(2)— 基础概念(上)