python绘图中有哪四个绘图技巧

作者:原创时间:2022-06-08
文档
  • 技巧1: plt.subplots()

  • 技巧2: plt.subplot()

  • 技巧3: plt.tight_layout()

  • 技巧4: plt.suptitle()

数据集:

让我们导入包并更新图表的默认设置,为图表添加一点个人风格。 我们将在提示上使用 Seaborn 的内置数据集:

import seaborn as sns # v0.11.2  
import matplotlib.pyplot as plt # v3.4.2  
sns.set(style='darkgrid', context='talk', palette='rainbow')df = sns.load\_dataset('tips')  
df.head()

技巧1: plt.subplots()

绘制多个子图的一种简单方法是使用 plt.subplots()

这是绘制 2 个并排子图的示例语法:

fig, ax = plt.subplots(nrows=1, ncols=2, figsize=(10,4))  
sns.histplot(data=df, x='tip', ax=ax[0])  
sns.boxplot(data=df, x='tip', ax=ax[1]);

在这里,我们在一个图中绘制了两个子图。 我们可以进一步自定义每个子图。

 例如,我们可以像这样为每个子图添加标题:

fig, ax = plt.subplots(1, 2, figsize=(10,4))  
sns.histplot(data=df, x='tip', ax=ax[0])  
ax[0].set\_title("Histogram")  
sns.boxplot(data=df, x='tip', ax=ax[1])  
ax[1].set\_title("Boxplot");

在循环中将所有数值变量用同一组图表示:

numerical = df.select\_dtypes('number').columnsfor col in numerical:  
 fig, ax = plt.subplots(1, 2, figsize=(10,4))  
 sns.histplot(data=df, x=col, ax=ax[0])  
 sns.boxplot(data=df, x=col, ax=ax[1]);

技巧2: plt.subplot()

另一种可视化多个图形的方法是使用 plt.subplot(),末尾没有 s

 语法与之前略有不同:

plt.figure(figsize=(10,4))  
ax1 = plt.subplot(1,2,1)  
sns.histplot(data=df, x='tip', ax=ax1)  
ax2 = plt.subplot(1,2,2)  
sns.boxplot(data=df, x='tip', ax=ax2);

当我们想为多个图绘制相同类型的图形并在单个图中查看所有图形,该方法特别有用:

plt.figure(figsize=(14,4))  
for i, col in enumerate(numerical):  
 ax = plt.subplot(1, len(numerical), i+1)  
 sns.boxplot(data=df, x=col, ax=ax)

我们同样能定制子图形。例如加个title

plt.figure(figsize=(14,4))  
for i, col in enumerate(numerical):  
 ax = plt.subplot(1, len(numerical), i+1)  
 sns.boxplot(data=df, x=col, ax=ax)   
 ax.set\_title(f"Boxplot of {col}")

通过下面的比较,我们能更好的理解它们的相似处与不同处熟悉这两种方法很有用,因为它们可以在不同情况下派上用场。

技巧3: plt.tight_layout()

在绘制多个图形时,经常会看到一些子图的标签在它们的相邻子图上重叠,

如下所示:

categorical = df.select\_dtypes('category').columnsplt.figure(figsize=(8, 8))  
for i, col in enumerate(categorical):  
 ax = plt.subplot(2, 2, i+1)  
 sns.countplot(data=df, x=col, ax=ax)

顶部两个图表的 x 轴上的变量名称被剪掉,右侧图的 y 轴标签与左侧子图重叠.使用plt.tight_layout很方便

plt.figure(figsize=(8, 8))  
for i, col in enumerate(categorical):  
 ax = plt.subplot(2, 2, i+1)  
 sns.countplot(data=df, x=col, ax=ax)   
plt.tight\_layout()

专业 看起来更好了。

技巧4: plt.suptitle()

真个图形添加标题:

plt.figure(figsize=(8, 8))  
for i, col in enumerate(categorical):  
 ax = plt.subplot(2, 2, i+1)  
 sns.countplot(data=df, x=col, ax=ax)   
plt.suptitle('Category counts for all categorical variables')  
plt.tight\_layout()

此外,您可以根据自己的喜好自定义各个图。 例如,您仍然可以为每个子图添加标题。

到此这篇关于python绘图 四个绘图技巧的文章就介绍到这了,希望大家以后多多支持好二三四!

显示全文
参照密接什么意思 adobecreativecloud是干什么的 网易云一起听在哪里添加歌 叮咚在哪里抢菜 关闭360画报方法 描写燕子的诗 带有春的诗句 春游的诗词 美女的诗词 有意境的诗词 春天唯美的诗词 踏春的诗词 赞美英雄的诗词 怎么控制自己的情绪 冬至的来历和风俗 大红袍功效 手机总是自己下载软件 子非鱼焉知鱼之乐意思 如何表白 重阳节是哪一天 js中toString方法有几个作用 qq起名字大全 lol游戏网名 昵称四个字 简单又好听的昵称 经典非主流网名 qq群名字 英文单词网名 两个字的网名 有趣的名字代号 企业微信号和个人号的区别 荣耀magic3和magic4区别 晓龙865和晓龙888哪个好 六宗是指什么 天铁是啥 千禧年是哪一年 统一康师傅是一家吗 我国陆地都与哪些国家接壤 印度河在印度的什么地方 形容浪漫的诗句