matplotlib_03_柱状图(条形图)
纵向柱状图
# 对比每部电影的票房收入
from matplotlib import pyplot as pltplt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False# 1、准备数据
movie_names = ['雷神3:\n诸神黄昏','正义联盟','东方快车谋杀案','寻梦环游记','全球风暴', '降魔传','追捕','七十七天','密战','狂兽','其它']
print(len(movie_names))
tickets = [73853,57767,22354,15969,14839,8725,8716,8318,7916,6764,52222]# 2、画布
plt.figure(figsize = (20,10), dpi = 100)# 3、绘图(bar)
x = range(len(movie_names))
plt.bar(x,tickets,width=0.6, color=['b','r','g','y','c','m','y','k','c','g','b'])# 4、刻度
# 如果movie_names中元素过长,无法完全展示,可以在元素中输入换行符
x_label = ["{}".format(i) for i in movie_names]
plt.xticks(x, x_label)# 添加描述信息
plt.xlabel("电影名称")
plt.ylabel("电影票房")
plt.title("某日票房排名")# 5、网格
plt.grid(linestyle='--',alpha = 0.6)# 6、保存图像
plt.savefig("bar01.png")# 7、展示图像
plt.show()
横向柱状图(条形图)
# 对比每部电影的票房收入
from matplotlib import pyplot as pltplt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False# 1、准备数据
movie_names = ['雷神3:诸神黄昏','正义联盟','东方快车谋杀案','寻梦环游记','全球风暴', '降魔传','追捕','七十七天','密战','狂兽','其它']
print(len(movie_names))
tickets = [73853,57767,22354,15969,14839,8725,8716,8318,7916,6764,52222]# 2、画布
plt.figure(figsize = (20,10), dpi = 100)# 3、绘图(bar)
x = range(len(movie_names))
"""
特别注意
barh横向展示柱状图,此时柱宽不再是weight,而是height
"""
plt.barh(x,tickets,height=0.6, color=['b','r','g','y','c','m','y','k','c','g','b'])# 4、刻度
# 此时需要修改Y轴的刻度
y_label = ["{}".format(i) for i in movie_names]
plt.yticks(x, y_label)# 添加描述信息
plt.xlabel("电影名称")
plt.ylabel("电影票房")
plt.title("某日票房排名")# 5、网格
plt.grid(linestyle='--',alpha = 0.6)# 6、保存图像
plt.savefig("bar02.png")# 7、展示图像
plt.show()
多柱状图1
from matplotlib import pyplot as pltplt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False# 1、准备数据
movie_name = ['雷神3:诸神黄昏','正义联盟','寻梦环游记']first_day = [10587.6,10062.5,1275.7]
first_weekend=[36224.9,34479.6,11830]# 2、画布
plt.figure(figsize = (20,10), dpi =80)# 3、绘图
x1 = range(len(movie_name))
plt.bar(x1,first_day,color = 'c',width = 0.2, label='首日')
# x轴需要平移,使首日票房与首周票房的柱状图不重叠,平移一个柱状图的宽度
x2 = [i+0.2 for i in x1]
plt.bar(x2,first_weekend,color = 'y',width = 0.2, label='首周')# 图例
plt.legend(loc='lower right')# 修改刻度
# 往右边0.1,居中于两柱之间
plt.xticks([i+0.1 for i in x1],movie_name)# 网格
plt.grid(linestyle = '--',alpha=0.6)#
plt.title("首日首周电影票房比对")
plt.xlabel("电影")
plt.ylabel("票房,单位(万)",rotation =0)plt.savefig("bar03.png")plt.show()
多柱状图2
a = ["猩球崛起3:终极之战","敦刻尔克","蜘蛛侠:英雄归来","战狼2"]
b_16 = [15746,312,4497,319]
b_15 = [12357,156,2045,168]
b_14 = [2358,399,2358,362]bar_width = 0.2
x1 = range(len(a))
x2 = [i+width for i in x1]
x3 = [i+width*2 for i in x1]plt.figure(figsize = (20,10), dpi =80)
plt.bar(x1,b_14,width=bar_width)
plt.bar(x2,b_15,width=bar_width)
plt.bar(x3,b_16,width=bar_width)# 刻度
# 在中间那根柱子上定义
plt.xticks(x2,a)plt.savefig("bar04.png")
plt.show()
真实数据演练:
import matplotlib.pyplot as plt
import pandas as pd
import os plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=Falseos.chdir('E:\学习文档\data')# 从excel读取数据
data = pd.read_excel('cust.xlsx',encoding = 'utf-8',usecols=[0,3,4,7])
# 统计各个业务子类型的交易金额
tran_data = data.groupby('业务子类型').sum()x_data = tran_data.values
y_data = tran_data.indexx_data = x_data.flatten()'''
plt.bar(*args, **kwargs)
bar(x, height, width,color, bottom,edge, *, align='center', **kwargs)常用参数说明:x:柱体在x轴上的坐标位置
height:柱体的高度
width:条形柱的宽度
color:条形柱的填充颜色
bottom:条形的起始位置
edgecolor:条形柱的边框颜色
linewidth:条形图边框宽度
tick_label:条形图的刻度标签
align:指定x轴上的对齐方式'''# 1、画布
plt.figure(figsize = (15,9),dpi = 80,facecolor = 'w')# 2、绘画条形图
x = range(len(x_data))
plt.bar(x = x,height = x_data,width = 0.4,color=['c','r','g','m'],edgecolor='black',linewidth = 2,tick_label= y_data,alpha = 0.5)# 3、设置x,y轴的标签
plt.xlabel('业务类型',labelpad = 20,fontsize = 10)
plt.ylabel('交易量',labelpad = 20,fontsize = 10)# 4、设置图形标题
plt.title('各业务类型交易量',pad = 30,fontsize = 30)# 修改刻度值文字大小
plt.xticks(fontsize = 20)# 5、网格线
plt.grid(linestyle ='--',alpha = 0.4)# 6、显示图片
plt.show()# 1、画布
plt.figure(figsize = (15,9),dpi = 80)# 2、绘画条形图
x = range(len(x_data))
plt.bar(x = x,height = x_data,width = 0.4,color=['c','r','g','m'],edgecolor='black',linewidth = 2,tick_label= y_data,alpha = 0.5)# 3、设置x,y轴的标签
plt.xlabel('业务类型',labelpad = 20)
plt.ylabel('交易量',labelpad = 20)# 4、设置图形标题
plt.title('各业务类型交易量',pad = 30,fontsize = 30)# 5、网格线
plt.grid(linestyle ='--',alpha = 0.4)# 6、显示图片
plt.show()
原始数据:
条形图:
matplotlib_03_柱状图(条形图)相关推荐
- Pyecharts:pyecharts(图文+代码)实战(柱状图/条形图/散点图、漏斗图、仪表盘、折线/面积图、水球图、地图、平行坐标系、饼图、极坐标系、雷达图、词云图)之绘制各种吊炸天的图表
Pyecharts:pyecharts(图文+代码)实战(柱状图/条形图/散点图.漏斗图.仪表盘.折线/面积图.水球图.地图.平行坐标系.饼图.极坐标系.雷达图.词云图)之绘制各种吊炸天的图表 目录 ...
- matlab柱状图加阴影,matlab 绘制 阴影 柱状图 条形图
matlab 绘制 阴影 柱状图 条形图 matlab 绘制 阴影 柱状图 条形图 matlab 绘制 阴影 黑白 柱状图 条形图 冰三点水 在科技文献写作等过程中,我们往往需要粘贴柱状图或者条形图, ...
- php柱状图html代码,html5生成柱状图(条形图)效果的实例代码
下面小编就为大家分享一篇html5生成柱状图(条形图)效果的实例代码.小编觉得挺不错的,现在分享给大家,也给大家一个参考.一起跟随小编过来看看吧 XML/HTML Code复制内容到剪贴板 (func ...
- Python 数据分析三剑客之 Matplotlib(六):直方图 / 柱状图 / 条形图的绘制
CSDN 课程推荐:<Python 数据分析与挖掘>,讲师刘顺祥,浙江工商大学统计学硕士,数据分析师,曾担任唯品会大数据部担任数据分析师一职,负责支付环节的数据分析业务.曾与联想.亨氏.网 ...
- plotly绘制柱状图/条形图(bar)
文章目录 一.简单的柱状图 二.堆叠柱状图 1.长表数据怎么画 2.宽表数据怎么画 三.簇状柱状图 五.条形图 四.美化 一.简单的柱状图 # 自带数据集 gapminder data = px.da ...
- 20180529-A · Comic book characters · ggplot2 geom_bar geom_text 柱状图 条形图 图例 · R 语言数据可视化 案例 源码
所有作品合集传送门: Tidy Tuesday 2018 年合集传送门: 2018 Comic book characters 欢迎来到ggplot2的世界! ggplot2是一个用来绘制统计图形的 ...
- android 大屏图表 MPAndroidChart 折线图 曲线图 柱状图 圆角柱状图 条形图
//图表库implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0' X轴:XAxis Y轴:YAxis 图例:Legend 描述:Descri ...
- [pyecharts学习笔记]——Bar 柱状图/条形图
def add_yaxis(# 系列名称,用于 tooltip 的显示,legend 的图例筛选.series_name: str,# 系列数据y_axis: Sequence[Numeric, op ...
- 如何在html中自动生成条形图,html5生成柱状图(条形图)效果的实例代码
XML/HTML Code复制内容到剪贴板 (function (){ window.addEventListener("load", function(){ var data = ...
最新文章
- python 字符串的魔法 day11(2)
- linux grep和正则表达式
- Pat乙级 1045 快速排序
- Unity3D Shader入门指南(二)
- 随机森林原理_机器学习(29):随机森林调参实战(信用卡欺诈预测)
- 最详细的企业级可视化大屏教程,90%的需求看这一篇就足够了
- python字符串相加_谁说python字符串相加效率低
- mysql备份至cos_宝塔面板网站文件/数据库定时同步备份至腾讯云COS设置
- BeautifulSoup库
- 计算机使用交接记录表,交接文档_计算机软件及应用_IT计算机_专业资料
- 计算机集成声卡输出通道,电脑集成与独立声卡的差别有哪些?
- 萤石开放平台——如何对摄像头消息做二次开发
- DC-DC 电源芯片的基本原理和组成
- python学习笔记9——第八章 异常
- 未来已来让闲置回归价值
- b560主板怎么样 b560主板支持的cpu
- Python画豪华版圣诞树,带漂亮彩灯与文字背景
- 华为荣耀路由器虚拟服务器,荣耀路由器怎么设置?
- 成功的路上会布满荆棘
- 2022 年(23届)计算机保研经验分享(北航、东南、西工大、哈工大、中山等)