视频1 视频21 视频41 视频61 文章1 文章21 文章41 文章61 文章81 文章101 标签大全1 标签大全51 标签大全101 标签大全151 标签大全201 标签大全251 标签大全301 标签大全351 标签大全401 标签大全451 信息系统项目管理师 开学第一课观后感 男人的网站 苏轼的词 洗衣机品牌排行榜
教育

python绘图中四个绘图技巧

作者:原创时间:2022-08-04
  • 技巧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绘图 四个绘图技巧的文章就介绍到这了,希望大家以后多多支持好二三四!

显示全文
手机中的应用商店在哪里找 手机应用的名称怎么改 苹果手机可以实现应用双开吗 华为手机应用还原是干什么用的 买的新手机充电发热正常吗 新手机需要充电满12小时吗 毛血旺是哪里的菜 学习计划该怎么写 价值观指什么意思 吃芒果不能和什么一起吃 公知这个词是什么意思 华诞指什么意思 麦饭石指的是什么意思 斯洛文尼亚是属于哪个洲 佛手瓜可以凉拌着吃吗 4g手机怎么样截屏 华为手机中的截屏图片保存在哪里 手机的截屏设置在哪里 情人节一年有几个 水木清华指的是什么意思 手机应用总出现闪退是什么原因 苹果手机是不是有定位跟踪系统 手机换电池手机里的数据会丢失吗 怎么辨别苹果充电头是不是原装的 微信好友不是好友能看朋友圈吗 恢复出厂设置如何备份 vivo手机通知栏显示hd是啥意思 为什么微信有的好友没有朋友圈 微信朋友圈评论删除后别人还可以看到吗 微信删了好友对方还能看朋友圈吗 微信中能看到谁看了我的朋友圈吗 微信朋友圈回复好友别人能够看到吗 微信朋友圈是一条横线是什么意思 删了微信后聊天记录还在吗 另一个手机登微信还有聊天记录吗 微信可以美颜视频聊天吗 微信收不到视频聊天是啥原因 微信聊天记录为什么会自动删除 微信删除聊天记录对方可以看到吗 别人登录我微信可以看到聊天记录吗