python数据可视化之图表样式调整(三)

适当的调整图表样式可以大大增强图表"讲故事"的能力。实际工作中可能需要调整很多东西,因此本篇不可能涵盖所有图表样式。本篇将介绍一些最有用的基本知识:更改图形大小、颜色和字体大小;加标题;以及移除轴边框。
数据源同上篇,依旧是葡萄酒评分表。

import pandas as pd
import matplotlib.pyplot as plt
# 葡萄酒杂志评论数据
reviews = pd.read_csv("kaggle/winemag-data_first150k.csv", index_col=0)
head = reviews.head(3)
image.png

回想一下第一篇中的柱形图:

reviews['points'].value_counts().sort_index().plot.bar()
python数据可视化之图表样式调整(三)_第1张图片
image.png

这图似乎过于普通,图表标题也没有,x轴上标签字号也有点小,下面我们来改造一下。

import seaborn as sns
ax = reviews['points'].value_counts().sort_index().plot.bar(
    figsize=(10, 5),
    color='mediumvioletred',
    fontsize=16
)
ax.set_title("Rankings Given by Wine Magazine", fontsize=20)
sns.despine(bottom=True, left=True)
plt.tight_layout()

python数据可视化之图表样式调整(三)_第2张图片
image.png

调整之后,比我们开始的时候更清晰,能更好地把分析结果传达给读者,下面逐一说明一下参数。
1.图表大小,使用figsize(width, height)参数 figsize=(10, 5)
2.修改颜色 ,使用 color 参数 color='mediumvioletred'取值表见文末链接
3.设置标签文字大小 ,使用fontsize参数 fontsize=16
4.设置标题和大小 plot.bar(title='xxx')
但是标题文字大小的设置,pandas没有给出设置参数。在底层,panda数据可视化工具是基与matplotlib的,这里可以借助matplotlib的 set_title函数实现

ax = xxx.plot.bar()
ax.set_title('title', fontsize=20)

变量ax 是一个AxesSubplot对象。
5.去掉图表黑色边框
sns.despine(bottom=True, left=True)
这里引入一个新的库seaborn ,后续会专门介绍。
6.图形完整显示,有时候图表标签会被遮挡
plt.tight_layout()仅仅检查坐标轴标签、刻度标签以及标题的部分。
7.带中文的图表需要设置字体,本文中未使用,特单独说明

import matplotlib
font = {
    'family': 'SimHei'
}
matplotlib.rc('font', **font)
总结

比起死记 style 参数,知道如何快速查找所需style的技能更重要。要善用API文档和 StackOverflow。

在matplotlib中命名颜色 color 参数取值参照
Plot Formatting pandas可视化api,可页面搜索Plot Formatting定位到 style处。
seaborn 图表样例
matplotlib图表样例
参考资料
https://www.kaggle.com/residentmario/styling-your-plots

你可能感兴趣的:(python数据可视化之图表样式调整(三))