可视化基础篇 | Seaborn 基础柱形图绘制

上期介绍了使用R-ggplot绘制基础柱形图的绘制推文,本期按照惯例,我们继续推出Python 版本的绘制方法,当然我们也是进过美化修饰的结果,毕竟要自己看的过去才行。本期推文主要涉及的知识点如下:

  • Python-saeborn绘制统计直方图

  • Matplotlib inset_locator.inset_axes()自由添加图片元素

Python-saeborn绘制统计直方图

在使用基础的matplotlib虽然也能绘制出直方统计图,但面对多类别数据则显得较为蛮烦,基本系列课程的目的是为了大家系统掌握各种图表的绘制方法,这里我们还是使用Seaborn进行绘制,再通过设置绘图风格以及必须的美化设置进行定制化操作。这里用到的绘图函数为seaborn.histplot() 用于绘制统计直方图,我们直接给出绘图代码,再做部分知识点解释。绘图代码如下(数据还是使用上期的数据,这里就不放数据预览了,对数据不了解可以查看上期推文即可):

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns

plt.style.use('fivethirtyeight') #设置绘图主题
fig,ax = plt.subplots(figsize=(7,4.5),dpi=200)

#设置字体:这种字体感觉高端大气
plt.rcParams["font.family"] = "Roboto Condensed" 

palette = ['#FF8C03',"#A034F1","#0F8B8B"]
his = sns.histplot(data=data,x="flipper_length_mm",hue="species",palette=palette,alpha=1,
           hue_order=["Adelie","Chinstrap","Gentoo"],lw=.5,edgecolor="black",ax=ax)

#添加标题
#title
ax.text(.08,1.1,"Base Charts in Python Exercise 02: Bar Charts",
       transform = ax.transAxes,color='k',ha='left',va='center',size=18,fontweight='extra bold')
#subtitle
ax.text(.01,1.02,"processed bar charts with seaborn.histplot()",
       transform = ax.transAxes,color='k',ha='left',va='center',size=9,fontweight='bold')
#caption
ax.text(.91,-.1,'\nVisualization by DataCharm',transform = ax.transAxes,
        ha='center', va='center',fontsize = 8,color='black',fontweight='bold')
plt.savefig(r'seaborn_histplot.png',width=7,
            height=4.5,dpi=900,bbox_inches='tight')
plt.show()

知识点:

  1. 更改matplotlib 默认主题风格 由于具体涉及到较多绘图元素的设置,我们这里直接采用matplotlib内置的主题风格,代码如下:

plt.style.use('fivethirtyeight') #设置绘图主题
  1. 文本元素的添加 常看我文章的小伙伴可能知道,我在添加一些文本要素(如title、subtitle、caption等)时没有使用其默认的绘图语法,只是使用ax.text()绘制,这样的好处时可以任意设置位置,如下:

#caption
ax.text(.91,-.1,'\nVisualization by DataCharm',transform = ax.transAxes,
        ha='center', va='center',fontsize = 8,color='black',fontweight='bold')

注意: transform = ax.transAxes 的设置可以是你的文本要素位置更加灵活,希望大家可以掌握。

最终可视化效果如下:

可视化的效果还是很不错哦

Matplotlib inset_locator.inset_axes()自由添加图片元素

这里的绘图方法,我之前的推文也有说过,既然是基础系列,我这边就尽可能的将每一个重要的知识点单独列出,这里使用了一个matplotlib不怎么常用的绘图方法添加图片元素,即inset_axes()方法,完整带入方法如下:

from mpl_toolkits.axes_grid1.inset_locator import inset_axes

我们直接给出要绘制图片的代码,如下:

img = r"lter_penguins.png"
image = plt.imread(img)
#添加图片
aximins = inset_axes(ax,width=2,height=2,
                      bbox_to_anchor=(.1, .55, .2, .6), #[left, bottom, width, height],
                      bbox_transform=ax.transAxes)
im = aximins.imshow(image,zorder=0)
aximins.axis('off')

将以上代码加入之前代码中即可添加图片, 最终的可视化效果如下:

绘图主题更换

我们可以通过设置:

plt.style.use('dark_background')

既可以设置“暗黑”系列的绘图风格啦,这里直接给出绘制结果,大家可是合理选择自己的绘图风格主题啊。

总结

本期推文的知识点也较为简单,目的还是为了大家的基础的图表绘制练习,希望大家可以掌握。对了,最近好多小伙伴想要文章的绘图数据,这里就大家分享下,希望大家更好的练习。

  • 13
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值