视频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绘图 四个绘图技巧的文章就介绍到这了,希望大家以后多多支持好二三四!

显示全文
怎么开通和关闭GPRS上网 明矾指的是什么 乐不思蜀的主角 甘蓝菜指的是什么 低碳生活方式有哪些 冰箱怎么除冰 手机铃声没声音怎么回事 春节起源 手机隐私密码忘记了怎么办 苹果4s手机忘记id密码怎么办 怎么样喝龙井茶 监控器忘记密码怎么办 吃柚子的好处有哪些 夏威夷是属于哪个洲的 破釜沉舟是出自于哪次战争 赤壁之战的故事概括 玉树的养殖方法是什么 猕猴桃属于哪类水果 唐宋八大家都有谁 僚机什么意思 舍利是什么 稻城是哪里的 什么是毛肚 柏拉图式的爱情什么意思 元宵与汤圆的区别 圆周率是谁发明出来的 布达拉宫是在哪里的 什么是蜂蜡 避暑山庄在哪里 如何保存螃蟹 月亮从哪边升起 阿尔卑斯山脉在哪里 四大文明古国指的是什么 诸葛亮是怎么死的 卧薪尝胆中的主人公是谁 草莓酱的简单制作方法 手机扬声器进水声音变小了该怎么办 酷派手机为什么来电没声音是怎么回事 酷派手机没有声音怎么办啊 频繁给手机充电有坏处吗