上期介绍了使用R-ggplot绘制基础柱形图的绘制推文,本期按照惯例,我们继续推出Python 版本的绘制方法,当然我们也是经过美化修饰的结果,毕竟要自己看的过去才行。本期推文主要涉及的知识点如下:
在使用基础的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()
知识点:
plt.style.use('fivethirtyeight') #设置绘图主题
#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_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')
既可以设置“暗黑”系列的绘图风格啦,这里直接给出绘制结果,大家可是合理选择自己的绘图风格主题啊。
本期推文的知识点也较为简单,目的还是为了大家的基础的图表绘制练习,希望大家可以掌握。对了,最近好多小伙伴想要文章的绘图数据,这里就大家分享下,希望大家更好的练习。