美文网首页呆鸟的Python数据分析
python数据可视化之图表样式调整(三)

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

作者: alittleman | 来源:发表于2019-07-30 20:18 被阅读9次

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

    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()
    
    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()
    
    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数据可视化之图表样式调整(三)

        本文链接:https://www.haomeiwen.com/subject/whlorctx.html