当前位置: 首页 > news >正文

plt绘制表格

目录

1、绘制简单表格

2、将字体居中

3、为每个表格添加背景

4、添加透明度

5、不显示表格标题

6、将pandas的表格列转行显示

7、关闭表格边框

8、设置表格长宽、字体大小

9、利用色系指定表格颜色

10、修改字体颜色、边框粗细


1、绘制简单表格

import pandas as pd
import matplotlib.pyplot as plt# 创建一个DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie', 'David'],'Age': [25, 30, 35, 40],'City': ['New York', 'San Francisco', 'Los Angeles', 'Chicago']}
df = pd.DataFrame(data)# 打印DataFrame
print(df)# 绘制表格
fig, ax = plt.subplots()
ax.axis('off')
ax.table(cellText=df.values, colLabels=df.columns, loc='center')plt.show()

2、将字体居中

import pandas as pd
import matplotlib.pyplot as plt# 创建一个DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie', 'David'],'Age': [25, 30, 35, 40],'City': ['New York', 'San Francisco', 'Los Angeles', 'Chicago']}
df = pd.DataFrame(data)# 绘制表格
fig, ax = plt.subplots()
ax.axis('off')
table = ax.table(cellText=df.values, colLabels=df.columns, cellLoc='center', colLoc='center', loc='center')# 调整表格字体大小
# table.auto_set_font_size(True)
table.set_fontsize(12)
table.scale(1.3, 1.3)  # 调整表格大小plt.show()

3、为每个表格添加背景

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np# 创建一个DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie', 'David'],'Age': [25, 30, 35, 40],'City': ['New York', 'San Francisco', 'Los Angeles', 'Chicago']}
df = pd.DataFrame(data)# 随机生成每个单元格的背景颜色
cell_colors = np.random.choice(['lightblue', 'lightgreen', 'lightpink', 'lightyellow'], size=(len(df), len(df.columns)))# 绘制表格
fig, ax = plt.subplots()
ax.axis('off')
table = ax.table(cellText=df.values, colLabels=df.columns, cellLoc='center', colLoc='center', loc='center', cellColours=cell_colors)# 调整表格字体大小
table.auto_set_font_size(False)
table.set_fontsize(14)
table.scale(1.5, 1.5)  # 调整表格大小plt.show()

4、添加透明度

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np# 创建一个DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie', 'David'],'Age': [25, 30, 35, 40],'City': ['New York', 'San Francisco', 'Los Angeles', 'Chicago']}
df = pd.DataFrame(data)# 随机生成每个单元格的背景颜色和透明度
cell_colors = np.random.choice(['lightblue', 'lightgreen', 'lightpink', 'lightyellow'], size=(len(df), len(df.columns)))
cell_alphas = np.random.uniform(0.5, 1, size=(len(df), len(df.columns)))  # 随机生成透明度# 绘制表格
fig, ax = plt.subplots()
ax.axis('off')
table = ax.table(cellText=df.values, colLabels=df.columns, cellLoc='center', colLoc='center', loc='center')for i in range(len(df)):for j in range(len(df.columns)):cell = table.get_celld()[(i, j)]cell.set_facecolor(cell_colors[i, j])cell.set_alpha(cell_alphas[i, j])# 调整表格字体大小
table.auto_set_font_size(False)
table.set_fontsize(14)
table.scale(1.5, 1.5)  # 调整表格大小plt.show()

5、不显示表格标题

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np# 创建一个DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie', 'David'],'Age': [25, 30, 35, 40],'City': ['New York', 'San Francisco', 'Los Angeles', 'Chicago']}
df = pd.DataFrame(data)# 随机生成每个单元格的背景颜色和透明度
cell_colors = np.random.choice(['lightblue', 'lightgreen', 'lightpink', 'lightyellow'], size=(len(df), len(df.columns)))
cell_alphas = np.random.uniform(0.5, 1, size=(len(df), len(df.columns)))  # 随机生成透明度# 绘制表格
fig, ax = plt.subplots()
ax.axis('off')
table = ax.table(cellText=df.values, cellLoc='center', loc='center', cellColours=cell_colors)for i in range(len(df)):for j in range(len(df.columns)):cell = table.get_celld()[(i, j)]cell.set_alpha(cell_alphas[i, j])# 调整表格字体大小
table.auto_set_font_size(False)
table.set_fontsize(14)
table.scale(1.5, 1.5)  # 调整表格大小plt.show()

6、将pandas的表格列转行显示

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np# 创建一个DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie', 'David'],'Age': [25, 30, 35, 40],'City': ['New York', 'San Francisco', 'Los Angeles', 'Chicago']}
df = pd.DataFrame(data)# 转置DataFrame
df = df.transpose()# 随机生成每个单元格的背景颜色和透明度
cell_colors = np.random.choice(['lightblue', 'lightgreen', 'lightpink', 'lightyellow'], size=(len(df), len(df.columns)))
cell_alphas = np.random.uniform(0.5, 1, size=(len(df), len(df.columns)))  # 随机生成透明度# 绘制表格
fig, ax = plt.subplots()
ax.axis('off')
table = ax.table(cellText=df.values, cellLoc='center', loc='center', cellColours=cell_colors)for i in range(len(df)):for j in range(len(df.columns)):cell = table.get_celld()[(i, j)]cell.set_alpha(cell_alphas[i, j])# 调整表格字体大小
table.auto_set_font_size(False)
table.set_fontsize(14)
table.scale(1.5, 1.5)  # 调整表格大小plt.show()

7、关闭表格边框

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np# 创建一个DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie', 'David'],'Age': [25, 30, 35, 40],'City': ['New York', 'San Francisco', 'Los Angeles', 'Chicago']}
df = pd.DataFrame(data)# 转置DataFrame
transposed_df = df.transpose()# 随机生成每个单元格的背景颜色和透明度
cell_colors = np.random.choice(['lightblue', 'lightgreen', 'lightpink', 'lightyellow'], size=(len(transposed_df), len(transposed_df.columns)))
cell_alphas = np.random.uniform(0.5, 1, size=(len(transposed_df), len(transposed_df.columns)))  # 随机生成透明度# 绘制表格
fig, ax = plt.subplots()
ax.axis('off')  # 关闭边框
table = ax.table(cellText=transposed_df.values, cellLoc='center', loc='center', cellColours=cell_colors)for i in range(len(transposed_df)):for j in range(len(transposed_df.columns)):cell = table.get_celld()[(i, j)]cell.set_alpha(cell_alphas[i, j])cell.set_edgecolor('white')  # 设置边框颜色为白色,达到关闭边框的效果。或者直接设置None,不显示# 调整表格字体大小
table.auto_set_font_size(False)
table.set_fontsize(14)
table.scale(1.5, 1.5)  # 调整表格大小plt.show()

8、设置表格长宽、字体大小

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np# 创建一个DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie', 'David'],'Age': [25, 30, 35, 40],'City': ['New York', 'San Francisco', 'Los Angeles', 'Chicago']}
df = pd.DataFrame(data)# 转置DataFrame
transposed_df = df.transpose()# 随机生成每个单元格的背景颜色和透明度
cell_colors = np.random.choice(['lightblue', 'lightgreen', 'lightpink', 'lightyellow'], size=(len(transposed_df), len(transposed_df.columns)))
cell_alphas = np.random.uniform(0.5, 1, size=(len(transposed_df), len(transposed_df.columns)))  # 随机生成透明度# 绘制表格
fig, ax = plt.subplots(figsize=(8, 4))  # 设置表格的长和宽
ax.axis('off')  # 关闭边框
table = ax.table(cellText=transposed_df.values, cellLoc='center', loc='center', cellColours=cell_colors)for i in range(len(transposed_df)):for j in range(len(transposed_df.columns)):cell = table.get_celld()[(i, j)]cell.set_alpha(cell_alphas[i, j])cell.set_edgecolor('white')  # 设置边框颜色为白色,达到关闭边框的效果。或者直接设置None,不显示# 调整表格字体大小
table.auto_set_font_size(False)
table.set_fontsize(12)  # 设置表格字体大小
table.scale(1, 1.5)  # 调整表格大小plt.show()

9、利用色系指定表格颜色

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
import matplotlib.cm as cm# 创建一个DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie', 'David']*4}
df = pd.DataFrame(data)# 转置DataFrame
transposed_df = df.transpose()# 使用nipy_spectral色系
colors = cm.nipy_spectral(np.linspace(0, 1, len(transposed_df.columns)))
# colors = cm.jet(np.linspace(0, 1, len(transposed_df.columns)))# 绘制表格
fig, ax = plt.subplots(figsize=(8, 4))  # 设置表格的长和宽
ax.axis('off')  # 关闭边框
table = ax.table(cellText=transposed_df.values, cellLoc='center', loc='center')for i in range(len(transposed_df.columns)):table.get_celld()[(0, i)].set_facecolor(colors[i])# 调整表格字体大小
table.auto_set_font_size(False)
table.set_fontsize(7)  # 设置表格字体大小
table.scale(1, 1.2)  # 调整表格大小plt.show()

10、修改字体颜色、边框粗细

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
import matplotlib.cm as cm# 创建一个DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie', 'David'] * 4}
df = pd.DataFrame(data)# 转置DataFrame
transposed_df = df.transpose()# 使用nipy_spectral色系
colors = cm.nipy_spectral(np.linspace(0, 1, len(transposed_df.columns)))
# colors = cm.jet(np.linspace(0, 1, len(transposed_df.columns)))# 绘制表格
fig, ax = plt.subplots(figsize=(8, 4))  # 设置表格的长和宽
ax.axis('off')  # 关闭边框
table = ax.table(cellText=transposed_df.values, cellLoc='center', loc='center')for i in range(len(transposed_df.columns)):table.get_celld()[(0, i)].set_facecolor(colors[i])# 调整表格字体大小
table.auto_set_font_size(False)
table.set_fontsize(7)  # 设置表格字体大小
table.scale(1, 1.2)  # 调整表格大小# 设置表格字体颜色
for i in range(len(transposed_df.columns)):table.get_celld()[(0, i)].set_text_props(fontsize=7, color='white')# 调整表格边框粗细
for key, cell in table.get_celld().items():cell.set_linewidth(0.5)"""
mpl_table = table.properties()
mpl_table['cell.linewidth'] = 0.5  # 设置表格边框粗细
mpl_table['cell.fontsize'] = 7  # 设置表格字体大小
mpl_table['cell.text.color'] = 'white'  # 设置表格文字颜色
"""plt.show()

相关文章:

  • 码云配置遇到秘钥不正确
  • 全栈软件开发工程师需要具备哪些技能
  • 【Windows】解决Windows11错误0x80190001
  • Spring三级缓存处理循环依赖的过程
  • 车牌限行_分支结构的C语言实现xdoj7
  • 在Linux上安装KVM虚拟机
  • Navicat连接Oracle数据库记录
  • 2023.11.23 云服务器实现 Spring Boot 项目文件上传并访问
  • 【微信小程序】保存多张图片到本地相册 wx.saveImageToPhotosAlbum
  • R语言30分钟入门
  • Tomcat的安装及其使用
  • 【接口自动化】selenium库也有大用场(获取cookie)
  • 计算机网络:应用层(上篇)
  • 基于python和定向爬虫的商品比价系统
  • 3D点云目标检测:VoxelNex解读
  • 2018以太坊智能合约编程语言solidity的最佳IDEs
  • Django 博客开发教程 16 - 统计文章阅读量
  • Docker: 容器互访的三种方式
  • exif信息对照
  • Gradle 5.0 正式版发布
  • jdbc就是这么简单
  • python学习笔记 - ThreadLocal
  • 前端代码风格自动化系列(二)之Commitlint
  • 如何使用 OAuth 2.0 将 LinkedIn 集成入 iOS 应用
  • 使用Envoy 作Sidecar Proxy的微服务模式-4.Prometheus的指标收集
  • 算法之不定期更新(一)(2018-04-12)
  • 由插件封装引出的一丢丢思考
  • 正则与JS中的正则
  • 带你开发类似Pokemon Go的AR游戏
  • 格斗健身潮牌24KiCK获近千万Pre-A轮融资,用户留存高达9个月 ...
  • ​LeetCode解法汇总2583. 二叉树中的第 K 大层和
  • ​queue --- 一个同步的队列类​
  • ​RecSys 2022 | 面向人岗匹配的双向选择偏好建模
  • ​软考-高级-系统架构设计师教程(清华第2版)【第15章 面向服务架构设计理论与实践(P527~554)-思维导图】​
  • # .NET Framework中使用命名管道进行进程间通信
  • # 20155222 2016-2017-2 《Java程序设计》第5周学习总结
  • #我与Java虚拟机的故事#连载06:收获颇多的经典之作
  • $.ajax,axios,fetch三种ajax请求的区别
  • $emit传递多个参数_PPC和MIPS指令集下二进制代码中函数参数个数的识别方法
  • (+3)1.3敏捷宣言与敏捷过程的特点
  • (003)SlickEdit Unity的补全
  • (04)Hive的相关概念——order by 、sort by、distribute by 、cluster by
  • (HAL库版)freeRTOS移植STMF103
  • (八)c52学习之旅-中断实验
  • (附源码)apringboot计算机专业大学生就业指南 毕业设计061355
  • (附源码)spring boot北京冬奥会志愿者报名系统 毕业设计 150947
  • (附源码)springboot“微印象”在线打印预约系统 毕业设计 061642
  • (十六)Flask之蓝图
  • (原創) 如何刪除Windows Live Writer留在本機的文章? (Web) (Windows Live Writer)
  • .NET : 在VS2008中计算代码度量值
  • .NET Framework 4.6.2改进了WPF和安全性
  • .NET/C# 使窗口永不获得焦点
  • .net6解除文件上传限制。Multipart body length limit 16384 exceeded
  • /usr/bin/python: can't decompress data; zlib not available 的异常处理
  • @DataRedisTest测试redis从未如此丝滑