前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python-seaborn 基础图表绘制-柱形图(数据分享)

Python-seaborn 基础图表绘制-柱形图(数据分享)

作者头像
DataCharm
发布2021-02-22 15:30:42
1.2K0
发布2021-02-22 15:30:42
举报
文章被收录于专栏:数据 学术 商业 新闻

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

  • Python-seaborn绘制统计直方图
  • Matplotlib inset_locator.inset_axes()自由添加图片元素

Python-seaborn绘制统计直方图

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

代码语言:javascript
复制
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内置的主题风格,代码如下:
代码语言:javascript
复制
plt.style.use('fivethirtyeight') #设置绘图主题
  1. 文本元素的添加 常看我文章的小伙伴可能知道,我在添加一些文本要素(如title、subtitle、caption等)时没有使用其默认的绘图语法,只是使用ax.text()绘制,这样的好处是可以任意设置位置,如下:
代码语言:javascript
复制
#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()方法,完整带入方法如下:

代码语言:javascript
复制
from mpl_toolkits.axes_grid1.inset_locator import inset_axes

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

代码语言:javascript
复制
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')

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

绘图主题更换

我们可以通过设置:

代码语言:javascript
复制
plt.style.use('dark_background')

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

总结

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-12-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DataCharm 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Python-seaborn绘制统计直方图
  • Matplotlib inset_locator.inset_axes()自由添加图片元素
    • 绘图主题更换
    • 总结
    相关产品与服务
    图数据库 KonisGraph
    图数据库 KonisGraph(TencentDB for KonisGraph)是一种云端图数据库服务,基于腾讯在海量图数据上的实践经验,提供一站式海量图数据存储、管理、实时查询、计算、可视化分析能力;KonisGraph 支持属性图模型和 TinkerPop Gremlin 查询语言,能够帮助用户快速完成对图数据的建模、查询和可视化分析。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档