美文网首页
6.4 条形图

6.4 条形图

作者: 操作系统 | 来源:发表于2017-05-03 10:10 被阅读0次

6.4.1 条形图简介

条形图( bar diagram)是用一个单位长度表示一定的数量,根据数量的多少画成长短不同的直条。 其优点是非常直观的比较出各种属性统计值的标量。

6.4.2 条形图的绘制

快速绘制条形图

以电影数据集为例,本数据集fandango_scores.csv可以从网站上下载(地址www.joy888.com)。通过数据集可视化处理,可以直观的看出不同的电影评分网站对同一电影的评分比较。
首先利用Pandas库读取数据集,示例代码:

import pandas as pd
reviews = pd.read_csv("fandango_scores.csv")
cols = ['FILM', 'RT_user_norm', 'Metacritic_user_nom', 'IMDB_norm', 'Fandango_Ratingvalue', 'Fandango_Stars']
norm_reviews = reviews[cols]
print(norm_reviews[:1])

运行结果:

                             FILM  RT_user_norm  Metacritic_user_nom  \
0  Avengers: Age of Ultron (2015)           4.3                 3.55   

   IMDB_norm  Fandango_Ratingvalue  Fandango_Stars  
0        3.9                   4.5             5.0  

由结果可以看出,5个不同的电影网站对同一电影(Avengers:Age of Ultron)的评分值。
下面引入matplotlib库并绘制条形图,条形图需要利用子图对象的bar方法,其中bar参数需要设定条形图的起始位置(即与原点的距离),以及每个条形长度(bar_heights)和粗度,示例代码:

import matplotlib.pyplot as plt
from numpy import arange
num_cols = ['RT_user_norm', 'Metacritic_user_nom', 'IMDB_norm', 'Fandango_Ratingvalue', 'Fandango_Stars']
bar_heights = norm_reviews.ix[0, num_cols].values        # 定义条形的高度
bar_positions = arange(5)+1        # 定义条形距离原点的距离
fig,ax = plt.suplots()
ax.bar(bar_positions, bar_heights, 0.5)        # 0.5表示定义条形的粗度
plt.show()

显示结果:

电影评分条形图1

条形图细化

下面,对以上条形图进行细化,要指明图形的名称(set_title),x轴(set_xlabel)和y轴(set_ylabel)的定义,以及x轴的刻度(set_xticks或者set_xticklabels),示例代码:

num_cols = ['RT_user_norm', 'Metacritic_user_nom', 'IMDB_norm', 'Fandango_Ratingvalue', 'Fandango_Stars']
bar_heights = norm_reviews.ix[0, num_cols].values
bar_positions = arange(5) + 1
tick_positions = range(1,6)
fig, ax = plt.subplots()

ax.bar(bar_positions, bar_heights, 0.5)
ax.set_xticks(tick_positions)
ax.set_xticklabels(num_cols, rotation=45)

ax.set_xlabel('Rating Source')
ax.set_ylabel('Average Rating')
ax.set_title('Average User Rating For Avengers: Age of Ultron (2015)')
plt.show()

显示结果:

电影评分条形图2

水平条形图

以上绘制的是垂直条形图,我们可以利用matplotlib库的barh方法绘制水平条形图,其中每个条形的长度由bar_height修改为bar_width,x轴和y轴的参数对调,示例代码:

import matplotlib.pyplot as plt
from numpy import arange
num_cols = ['RT_user_norm', 'Metacritic_user_nom', 'IMDB_norm', 'Fandango_Ratingvalue', 'Fandango_Stars']

bar_widths = norm_reviews.ix[0, num_cols].values
bar_positions = arange(5) + 1
tick_positions = range(1,6)
fig, ax = plt.subplots()
ax.barh(bar_positions, bar_widths, 0.5)

ax.set_yticks(tick_positions)
ax.set_yticklabels(num_cols)
ax.set_ylabel('Rating Source')
ax.set_xlabel('Average Rating')
ax.set_title('Average User Rating For Avengers: Age of Ultron (2015)')
plt.show()

显示结果:

电影评分条形图3

相关文章

  • 6.4 条形图

    6.4.1 条形图简介 条形图( bar diagram)是用一个单位长度表示一定的数量,根据数量的多少画成长短不...

  • 第二部分 第6章 基本图形

    6.1 条形图 简单条形图 barplot() 堆砌条形图和分组条形图 均值条形图 条形图的微调 par()函数 ...

  • R语言绘制条形图

    数据 简单条形图 最基本用法:barplot() 水平条形图 数据 堆砌条形图 棘状图 分组条形图 数据 均值条形图

  • 第二章 条形图

    二、条形图 1,简单的条形图 2,绘制簇状条形图 3,绘制频数分布条形图 4,条形图着色 5,对正负条形图分别着色...

  • R语言:图形

    常用的图形,这里给出案例: barplot 条形图、单向量条形图 堆砌与分组条形图 添加标签 均值条形图 棘状图 ...

  • 第二章 选择有效的图表

    12个: 简单文本、散点图、表格、折线图、热力图、斜率图、竖直条形图、水平条形图、堆叠竖直条形图、堆叠水平条形图、...

  • R数据可视化19:环状条形图

    之前我们已经讲过很多条形图啦,但是今天我们再来讲一种条形图——环状条形图(Circular barplot)。当厌...

  • R语言可视化(三):条形图绘制

    03.条形图绘制 清除当前环境中的变量 设置工作目录 barplot函数绘制条形图 ggplot2包绘制分组条形图...

  • 直方图可不是条形图,这是个深坑

    说到条形图,我们都很熟悉了,它分为两种,一种是水平条形图,一种是垂直条形图。 无论是哪种条形图,我们总能精确的对数...

  • Matplotlib实践使用笔记——基本画图

    基本画图操作 内容包括画线、条形图、直方图、饼图。 画线 画条形图 简单条形图 直方图 统计出现的次数 饼状图 会...

网友评论

      本文标题:6.4 条形图

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