25个常用Matplotlib图的Python代码,收藏收藏

论文画图神器!25个常用Matplotlib图的Python代码,收藏收藏! 大家好,今天要分享给大家25个Matplotlib图的汇总,在数据分析和可视化中非常有用,文章较长,可以马起来慢慢练手。 # !pip install brewer2mpl import numpy as np import pandas as pd import matplotlib as mpl import matplotlib.pyplot as plt import seabor... 阅读详情

大家好,今天要分享给大家25个Matplotlib图的汇总,在数据分析和可视化中非常有用,文章较长,可以马起来慢慢练手。

# !pip install brewer2mpl  
import numpy as np  
import pandas as pd  
import matplotlib as mpl  
import matplotlib.pyplot as plt  
import seaborn as sns  
import warnings; warnings.filterwarnings(action='once') 
large = 22; med = 16; small = 12  
params = {'axes.titlesize': large,  
          'legend.fontsize': med,  
          'figure.figsize': (16, 10),  
          'axes.labelsize': med,  
          'axes.titlesize': med,  
          'xtick.labelsize': med,  
          'ytick.labelsize': med,  
          'figure.titlesize': large}  
plt.rcParams.update(params)  
plt.style.use('seaborn-whitegrid')  
sns.set_style("white") 
%matplotlib inline  
# Version  
print(mpl.__version__)  #> 3.0.0  
print(sns.__version__)  #> 0.9.0 

1. 散点图

Scatteplot是用于研究两个变量之间关系的经典和基本图。如果数据中有多个组,则可能需要以不同颜色可视化每个组。在Matplotlib,你可以方便地使用。

25个常用Matplotlib图的Python代码,收藏收藏

 

 

# Import dataset   
midwest = pd.read_csv("https://raw.githubusercontent.com/selva86/datasets/master/midwest_filter.csv")  
# Prepare Data   
# Create as many colors as there are unique midwest['category']  
categories = np.unique(midwest['category'])  
colors = [plt.cm.tab10(i/float(len(categories)-1)) for i in range(len(categories))]  
# Draw Plot for Each Category  
plt.figure(figsize=(16, 10), dpi= 80, facecolor='w', edgecolor='k')  
for i, category in enumerate(categories):  
    plt.scatter('area', 'poptotal',   
                data=midwest.loc[midwest.category==category, :],   
                s=20, c=colors[i], label=str(category))  
# Decorations  
plt.gca().set(xlim=(0.0, 0.1), ylim=(0, 90000),  
              xlabel='Area', ylabel='Population')  
plt.xticks(fontsize=12); plt.yticks(fontsize=12)  
plt.title("Scatterplot of Midwest Area vs Population", fontsize=22)  
plt.legend(fontsize=12)      
plt.show()      

25个常用Matplotlib图的Python代码,收藏收藏

 

2. 带边界的气泡图

有时,您希望在边界内显示一组点以强调其重要性。在此示例中,您将从应该被环绕的数据帧中获取记录,并将其传递给下面的代码中描述的记录。encircle()

from matplotlib import patches  
from scipy.spatial import ConvexHull  
import warnings; warnings.simplefilter('ignore')  
sns.set_style("white")  
# Step 1: Prepare Data  
midwest = pd.read_csv("https://raw.githubusercontent.com/selva86/datasets/master/midwest_filter.csv")  
# As many colors as there are unique midwest['category']  
categories = np.unique(midwest['category'])  
colors = [plt.cm.tab10(i/float(len(categories)-1)) for i in range(len(categories))]  
# Step 2: Draw Scatterplot with unique color for each category  
fig = plt.figure(figsize=(16, 10), dpi= 80, facecolor='w', edgecolor='k')      
for i, category in enumerate(categories):  
    plt.scatter('area', 'poptotal', data=midwest.loc[midwest.category==category, :], s='dot_size', c=colors[i], label=str(category), edgecolors='black', linewidths=.5) 
 # Step 3: Encircling  
# https://stackoverflow.com/questions/44575681/how-do-i-encircle-different-data-sets-in-scatter-plot  
def encircle(x,y, ax=None, **kw):  
    if not ax: ax=plt.gca()  
    p = np.c_[x,y]  
    hull = ConvexHull(p)  
    poly = plt.Polygon(p[hull.vertices,:], **kw)  
    ax.add_patch(poly)  
# Select data to be encircled  
midwestmidwest_encircle_data = midwest.loc[midwest.state=='IN', :]                  
 # Draw polygon surrounding vertices     
encircle(midwest_encircle_data.area, midwest_encircle_data.poptotal, ec="k", fc="gold", alpha=0.1)  
encircle(midwest_encircle_data.area, midwest_encircle_data.poptotal, ec="firebrick", fc="none", linewidth=1.5)  
# Step 4: Decorations  
plt.gca().set(xlim=(0.0, 0.1), ylim=(0, 90000),  
              xlabel='Area', ylabel='Population')  
plt.xticks(fontsize=12); plt.yticks(fontsize=12)  
plt.title("Bubble Plot with Encircling", fontsize=22)  
plt.legend(fontsize=12)      
plt.show()     

25个常用Matplotlib图的Python代码,收藏收藏

 

3. 带线性回归最佳拟合线的散点图

如果你想了解两个变量如何相互改变,那么最合适的线就是要走的路。下图显示了数据中各组之间最佳拟合线的差异。要禁用分组并仅为整个数据集绘制一条最佳拟合线,请从下面的调用中删除该参数。

# Import Data  
df = pd.read_csv("https://raw.githubusercontent.com/selva86/datasets/master/mpg_ggplot2.csv")  
dfdf_select = df.loc[df.cyl.isin([4,8]), :] 
# Plot  
sns.set_style("white")  
gridobj = sns.lmplot(x="displ", y="hwy", hue="cyl", data=df_select,   
                     height=7, aspect=1.6, robust=True, palette='tab10',   
                     scatter_kws=dict(s=60, linewidths=.7, edgecolors='black'))  
# Decorations  
gridobj.set(xlim=(0.5, 7.5), ylim=(0, 50))  
plt.title("Scatterplot with line of best fit grouped by number of cylinders", fontsize=20) 

25个常用Matplotlib图的Python代码,收藏收藏

 

每个回归线都在自己的列中

或者,您可以在其自己的列中显示每个组的最佳拟合线。你可以通过在里面设置参数来实现这一点。

# Import Data  
df = pd.read_csv("https://raw.githubusercontent.com/selva86/datasets/master/mpg_ggplot2.csv")  
dfdf_select = df.loc[df.cyl.isin([4,8]), :] 
# Each line in its own column  
sns.set_style("white")  
gridobj = sns.lmplot(x="displ", y="hwy",   
                     data=df_select,   
                     height=7,   
                     robust=True,   
                     palette='Set1',   
                     col="cyl",  
        &nb
Python实现“客户体验的变化情况(哑铃图)” 2018年,客户满意度的平均得分约为8分,而在2023年,此得分提高至9分以上。这个可视化图表清晰地展示了这种变化情况,并提供了一种简单易懂的方式来比较不同年份的数据。哑铃图(Dumbbell Plot)是一种可视化图表,用于展示两个时间点或两种情况之间的差异。它通常由两个圆圈和一条连接它们的线组成,这条线表示差异的大小和方向。然后,我们模拟了两个时间点的数据,分别为2018年和2023年客户的满意度数据。运行代码,我们可以得到一个哑铃图,它显示了客户满意度的变化情况。 阅读详情

相关推荐

IDEA中Maven工具栏与命令执行全攻略:高效开发必备技巧

IntelliJ IDEA 作为强大的 Java 开发工具,其 Maven 功能独具优势。Maven 工具栏位于工作区右侧,图标功能丰富,涵盖项目导入、源码处理、依赖操作等。执行 Maven 命令有多种途径,Run Anything 窗口可输入或选目标执行,上下文菜单能右键运行目标,还可创建运行配置,指定命令参数后运行,为开发者高效管理 Maven 项目、便捷执行命令提供有力支持。

2301_82300081的博客 2030

嵌入式Linux Qt/QML开发实战:从Buildroot配置到应用部署

本文详细介绍了嵌入式Linux Qt/QML开发全流程,从Buildroot系统配置、交叉编译工具链搭建到应用部署与调试。以RK3506开发板为例,提供实战指南,帮助开发者高效完成嵌入式应用开发,解决常见环境配置与性能优化问题。

m2n3o4p5的博客 225

使用sysbench对Oracle做基准测试(-) 安装篇

sysbench是一款开源的多线程性能测试工具, 可以执行CPU/内存/线程/IO/数据库等方面的性能测试。数据库目前支持MySQL/Oracle/PostgreSQL。

道行尚浅(老道)的博客 7811

GPU资源池化:技术原理与应用场景全解析

GPU资源池化技术已成为AI时代高效利用算力的关键方案。该技术通过硬件虚拟化、容器化编排和智能调度三个核心层面,实现GPU资源的共享与优化,可将平均利用率从不足30%提升至60-80%。主流方案包括NVIDIA全栈解决方案、云原生Kubernetes生态及开源工具,适用于企业AI平台、大模型训练和边缘推理等场景。虽然面临性能隔离、资源碎片等挑战,但随着硬件虚拟化细化和AI驱动调度算法的发展,GPU池化正向着智能化、自动化方向演进,推动实现"算力如水电"的愿景。

技术引领业务创新 1352

RTCA DO-160G标准详解:航空电子设备的全面环境适应性测试指南

第二章的主要目的是提供标准中使用的术语和定义。了解这些术语对于准确理解标准的要求至关重要,特别是在技术实施过程中。RTCA DO-160G 涉及多个学科的知识,包括航空、电子、电磁学和机械工程,因此需要确保使用的术语在所有学科中具有一致的定义。为了确保测试人员和工程师在执行测试时对所有条件和要求的理解一致,RTCA DO-160G 标准中定义了大量术语。环境应力:指的是设备在操作过程中可能遇到的外部物理或化学条件,包括温度、湿度、振动等。电磁干扰(EMI)

qq_41854911的博客 5276

【Linux0.11代码分析】之 系列文章链接汇总(全)

【Linux0.11代码分析】00 之 系列文章链接汇总(全)

|~~~热爱生活、努力学习的小伙汁~~~| 1449

基于STM32F4XX 、HAL库的GXHT30C温湿度传感器驱动应用C语言程序设计

define GXHT30C_STATUS_WRITE_CHK (1 << 0) // 写数据校验状态。#define GXHT30C_STATUS_HUMI_TRACK (1 << 11) // 湿度跟踪报警。#define GXHT30C_STATUS_TEMP_TRACK (1 << 10) // 温度跟踪报警。#define GXHT30C_STATUS_CMD_STATUS (1 << 1) // 命令执行状态。

PP_Cottage的博客 227

DeepSeek Harness 工程实践与高级特性:从测试到安全的完整指南

AI Agent 能执行命令、读写文件、自主决策,能力越强风险越大——删文件、泄密钥、死循环、竞态条件随时可能发生。本文是 DeepSeek Harness 系列第三篇,深入剖析其工程实践与高级特性:从单元测试到真实 API 冒烟测试的分层策略,拒绝 Mock 依赖、坚持"验证世界而非自我报告";从正交结果、规范化契约到 Dispose 静止的防御式编程铁律;以及跨平台多层进程沙箱、文件系统版本守卫、fail-closed 审批机制、模型编写的工作流引擎与上下文压缩等高级能力。

program哲学 207

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

上一篇: 一日一技:让Python在退出时强制运行一段代码
下一篇: python正则表达式很难?一文带你轻松掌握
python588
博客等级 码龄7年 338粉丝 132原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值