前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python可视化分析笔记(用bar和barh展示2017年GDP数据)

Python可视化分析笔记(用bar和barh展示2017年GDP数据)

作者头像
python与大数据分析
发布2022-03-11 13:25:15
4740
发布2022-03-11 13:25:15
举报
文章被收录于专栏:python与大数据分析

最近有些偷懒,一来素材匮乏,二来素材每天一写会花费不少功夫,三来及时有素材也是自己原创却苦于跟公司有很大关系,不知道该不该写,四来最近写的材料太多了,耗费了很大的精力。不过实话实说,还是自己偷懒。

GDP和人口数据都是一个基于时间序列和省份的大的二维表,分析的角度有多种,横向比、纵向比、切片比、看增长率、看绝对值、看相对值、看份额等等不一而足,所以体现在图表上也是各式各样,还好本文的目标只是为了论证图表可行性,并非绝对的要匹配图表的适用性。

代码示例

代码语言:javascript
复制
#获取列名、行名和列值,下面主要为了获取2017年各省的GDP数据
colname=[i for i in gdpdf.columns if i not in ['区域', '地区','total']][20::-1]
#colname= ['2000年', '2001年', '2002年', '2003年', '2004年', '2005年', '2006年', '2007年', '2008年', '2009年', '2010年', '2011年', '2012年', '2013年', '2014年', '2015年', '2016年', '2017年']
rowname=[i for i in gdpdf.index]
#rowname= ['北京市', '天津市', '河北省', '山西省', '内蒙古自治区', '辽宁省', '吉林省', '黑龙江省', '上海市', '江苏省', '浙江省', '安徽省', '福建省', '江西省', '山东省', '河南省', '湖北省', '湖南省', '广东省', '广西壮族自治区', '海南省', '重庆市', '四川省', '贵州省', '云南省', '西藏自治区', '陕西省', '甘肃省', '青海省', '宁夏回族自治区', '新疆维吾尔自治区']
data=gdpdf['2017年'].values
#data= [28014.94 18549.19 34016.32 15528.42 16096.21 23409.24 14944.53 15902.68
# 30632.99 85869.76 51768.26 27018.   32182.09 20006.31 72634.15 44552.83
# 35478.09 33902.96 89705.23 18523.26  4462.54 19424.73 36980.22 13540.83
# 16376.34  1310.92 21898.81  7459.9   2624.83  3443.56 10881.96]
x = np.linspace(0, 31, 31)
y=data

from matplotlib.ticker import FuncFormatter
def millions(x, pos):
    'The two args are the value and tick position'
    return '¥%.2f亿' % x
formatter = FuncFormatter(millions)

def draw_bar(x,y,xlabel):
    # 表示先生成93(31*3)个随机数,然后将它们组装成31行,那么每行三个数,对应了颜色的三个组成部分
    color = np.random.rand(93).reshape(31, 3)
    figure = plt.figure(facecolor='w', figsize=(11, 7))
    ax = figure.add_subplot(1, 1, 1)
    matplotlib.rcParams['font.sans-serif'] = ['SimHei']  # 用黑体显示中文
    matplotlib.rcParams['axes.unicode_minus'] = False  # 正常显示负号
    plt.bar(x, y, alpha=0.8, color=color)
    ax.yaxis.set_major_formatter(formatter)
    #设置x坐标轴的标签
    plt.xticks(x,xlabel)
    #设置x轴标签旋转
    plt.xticks(rotation=90)
    plt.show()

def draw_barh(x,y,xlabel):
    color = np.random.rand(93).reshape(31, 3)
    figure = plt.figure(facecolor='w', figsize=(11, 7))
    ax = figure.add_subplot(1, 1, 1)
    matplotlib.rcParams['font.sans-serif'] = ['SimHei']  # 用黑体显示中文
    matplotlib.rcParams['axes.unicode_minus'] = False  # 正常显示负号
    plt.barh(x, y, alpha=0.8, color=color)
    ax.xaxis.set_major_formatter(formatter)
    plt.yticks(x,xlabel)
    plt.show()

draw_bar(x,y,rowname)
draw_barh(x,y,rowname)
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-03-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 python与大数据分析 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 代码示例
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档