Python数据可视化学习笔记(二)

柱状图

	使用Matplotlib提供的bar()函数来绘制柱状图;
	每次调用bar()函数都会生成一组柱状图,可以通过多次调用bar()函数实现多组柱状图;
	绘图方法bar():
	bar(x,height,width=0.8,*,align='center',**kwargs)
	主要参数:
		x:包含所有柱子的下标的列表
		height:y轴的数值序列,也是柱状图的高度;
		width:柱状图的宽度,一般为0.8
		align:柱子对齐方式,有两个可选值:center和edge。center表示每根柱子根据下标来对齐,edge则表示每根柱子		全部以下标为起点,然后标识到下标的右边。如果不指定该参数,默认值是center。
		color:每根柱子呈现的颜色,可指定一个固定值或一个列表
		edgecolor:每根柱子边框的颜色
		linewidth:每根柱子的边框宽度
		tick_label:每根柱子上显示的标签
		xerr:每根柱子顶部在横轴方向的线段长度
		yerr:每根柱子顶端在纵轴方向的线段长度
		eclor:设置xerr和yerr的线段颜色,可以指定一个固定值或一个列表
	课件例题实现:
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.font_manager as fm
data=pd.DataFrame({'月份':[1,2,3,4,5,6,7,8,9,10,11,12],
                   '男装':[51,32,58,57,30,46,38,38,40,53,58,50],
                   '女装':[70,30,48,73,82,80,43,25,30,49,79,60],
                   '餐饮':[60,40,46,50,57,76,70,33,70,61,49,45],
                   '化妆品':[110,75,130,80,83,95,87,89,96,88,86,89],
                   '金银首饰':[143,100,89,90,78,129,100,97,108,152,96,87]
                  })
data.plot(x='月份',kind='bar')
plt.xlabel('月份',fontproperties='simhei')
plt.ylabel('营业额(万元)',fontproperties='simhei')
plt.show()

在这里插入图片描述
简单柱状图:

import matplotlib.pyplot as plt
num_list=[1.5,0.6,7.8,6]
plt.bar(range(len(num_list)),num_list)
plt.show()

在这里插入图片描述
条形柱状图:

import matplotlib.pyplot as plt
name_list=['Monday','Tuesday','Friday','Sunday']
num_list=[1.5,0.6,7.8,6]
plt.barh(range(len(num_list)),num_list,color='rgb',tick_label=name_list)
plt.show()

在这里插入图片描述
堆叠柱状图:

import matplotlib.pyplot as plt
name_list=['Monday','Tuesday','Friday','Sunday']
num_list=[1.5,0.6,7.8,6]
num_list1=[1,2,3,1]
plt.bar(range(len(num_list)),num_list,label='boy',fc='y')
plt.bar(range(len(num_list)),num_list1,bottom=num_list,label='girl',tick_label=name_list,fc='r')
plt.legend()
plt.show()

在这里插入图片描述
饼状图:

绘图方法pie():
	x:(创建饼状图的数据,每一块)的比例,如果sum(x)>1会使用sum(x)归一化;
	explode:(每一块)离开中心距离,一个list或数组;
	labels:为每个楔形添加标签
	color:颜色
	autopct:控制饼图内部百分比设置,可以使用format字符串或者format function:可以是整数('%d%%')、浮点数(%1.3f%%)、字符串('%s%%')、函数;
	label distance:float ,optional,default:0.6;类似于labeldistance,指定autopct的位置刻度,默认值为0.6;
	shadow:bool,optional,default:False;为饼状图画阴影(True)。
	startangle:float,optional,f\default:None;起始绘制角度,默认是从X轴正方向逆时针画起,如设定=90则从Y轴正方向画起;
	radius:float,optional,f\default:None;饼图的半径,若为None时,则默认为1;
	counterclock:bool,optional,default:True;指定分数方向,逆时针(True)或顺时针;
	wedgeprops:dict,optional,default:None;描述楔形边界线宽度值,参数形式;
	textprops:dict,optional,default:None;传递给文本对象的字典参数;
	center:list of float,optional,default:(0,0);图标的中心为,默认(0,0),也可以是两个标量的序列(sequence of 2 scalars)
简单饼状图:
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
#用来正常显示中文标签

labels='A','B','C','D'
sizes=[10,20,30,40]
plt.pie(sizes,labels=labels)
plt.title("饼状图实战")
plt.text(1,-1.2,'By winner')
plt.show()

在这里插入图片描述

import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
#用来正常显示中文标签

labels='A','B','C','D'
sizes=[10,20,30,40]
explode=(0,0,0.1,0)
plt.pie(sizes,labels=labels,explode=explode)
plt.title("饼状图实战")
plt.text(1,-1.2,'By winner')
plt.show()

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值