python条形图和线形图的绘制,并显示数据
1. matplotlib.pyplot库的简述
pyplot是matplotlib的子库,主要用于实现各种数据展示图形的绘制
首先导入此包,方便引用取个别名plt
import matplotlib.pyplot as plt
2. 能实现画图的最基本函数
创建一个全局绘图区域,facecolor=None 为无色背景
plt.figure(figsize=None, facecolor=None)
figsize(a,b)中的参数a是指绘图区宽度,b则是高度
plt.figure(figsize=(8,4), facecolor=“yellow”)
plt.show() 将绘图结果显示出来
常用函数 | 举例 |
---|---|
plt.title() | 为所做之图取个标题,如plt.title(“一周内温度变化折线图”) |
plt.xlabel(s) | 设置x轴的标签,如plt.xlabel(“年份”) |
plt.ylabel(s) | 设置y轴的标签,如plt.ylabel(“人数/万人”) |
plt.legend() | 为坐标轴放置图注,plt.legend()默认调整 ,如plt.legend(loc=“upper left”)自我调整 |
plt.xlim(xmin,xmax) | 设置x轴的取值范围,如pltxlim(0,10) |
plt.ylim(ymin,ymax) | 设置y轴的取值范围,如plt.ylim(0,30) |
plt.xticks() | 显示x坐标对应位置的内容,就是位置更名函数,如plt.xticks(x,x_ticks) |
例如x = [0,1,2,3,4,5]和x_ticks = [“张三”, “李四”, “王五”, “钱六”, “赵大”, “孙七”] | |
plt.text(x,y,s,fontdic,withdash) | 为坐标图轴添加注释 |
若要在表中显示中文,需要字体设置函数,给出常见的7中文字体
如:plt.rcParams[“font.family”] = “kaiTi”
字体名称 | 字体的英文表示 |
---|---|
宋体 | SimSun |
黑体 | SimHei |
楷体 | KaiTi |
微软雅黑 | Microsoft YaHei |
隶书 | LiSu |
仿宋 | FangSong |
幼圆 | YouYuan |
3.线形图,条形图的图表函数:
3.1绘制线形图的 plot()函数的参数说明
plot( x , y , [fmt] , …)
参数 | 说明 |
---|---|
x | x轴坐标,一般为列表(没有值时,值的个数默认与y轴坐标个数相同,从0开始增大) |
y | y轴坐标,通常是一个数或数组 |
fmt | 定义线的基本元素,由颜色、标记的形状、线条的形状三部分字符组成,如"rO–"== “红色/标记是实心圆/破折线” |
… | 自定义:color(颜色)marker(标记的形状)linestyle(线条形状)linewidth(线条宽度)marksize(标记的大小)label(标签,用于图例) |
常用标记样式:
S --> 实心正方形 P --> 实心五角星 O --> 实心圆 * --> 星形 D --> 菱形
常用线形样式:
- 实线 : 虚线 – 破折线 -. 画点线
常用颜色字符:
b 蓝色 m 洋红色 w 白色
g 绿色 y 黄色
r 红色 k 黑色
也可以使用全称(red、green)还可以使用十六进制字符串(如#aabbcc)
3.2线形图示例
import matplotlib.pyplot as pltplt.rcParams["font.family"] = "KaiTi"
x = ["周一", "周二", "周三", "周四", "周五", "周六", "周日"]
highest = [12, 15, 18, 14, 16, 14, 10]
lowest = [6, 4, 8, 12, 10, 9, 7]
plt.ylim(0, 25)
plt.plot(x, highest, "rs--", label="最高气温")
plt.plot(x, lowest, "rd--", label="最低气温")
for a, b in zip(x, highest):plt.text(a, b+1, b, ha='center', va='bottom')# 数据显示的横坐标、显示的位置高度、显示的数据值的大小
for a, b in zip(x, lowest):plt.text(a, b-2, b, ha='center', va='bottom')
plt.title("一周气温变化趋势")
plt.xlabel("星期")
plt.ylabel("气温")
plt.legend()
plt.show()
plt.text(a,b,b)
数据显示x轴对应位置、显示的位置高度(可以调整)、显示的数据值的大小
for a, b in zip(x, highest): # 使用for 循环依次次输出 zip()对应连接
plt.text(a, b + 2, b, ha=‘center’, va=‘bottom’)
3.3绘制条形图的 bar()函数的参数说明> plot( x , y , [fmt] …)
bar( x , y , width=0.8,bottom=None ,align= “center”,color=“yellow” )
参数 | 说明 |
---|---|
x | x轴的位置序列,一般为列表中的值 |
y | y轴的数值序列,条形图的高度,需要展示的数据 |
width | 每个条形的宽度,可调整 |
align | 条形与x轴对齐方式,有center和edge两种,默认为center |
color | 每个条形的填充颜色 |
edgecolor | 每个条形的边框颜色 |
注意:如果要在一个途图中显示多个条形图,可调整位置align,和宽度width,使并列或重叠显示
3.2条形图示例
import matplotlib.pyplot as pltplt.rcParams["font.family"] = "kaiTi"
nums = [172, 169, 177, 201, 238, 290]
x_ticks = [2014, 2015, 2016, 2017, 2018, 2019]
x = range(0, len(nums))
# 显示x坐标对应位置的内容,就是位置更名函数,plt.xticks()
plt.xticks(x, x_ticks) # rotation="vertical" 倒转九十度
plt.bar(x, nums, width=0.6, label="研究生人数")
# plt.text(a,b,b)数据显示的横坐标、显示的位置高度、显示的数据值的大小
for a, b in zip(x, nums):plt.text(a, b + 2, b, ha='center', va='bottom')
plt.xlabel("年份")
plt.ylabel("人数/万人")
plt.legend(loc="upper left") # 显示标签
plt.show()
plt.text(a,b,b)
数据显示x轴对应位置、显示的位置高度(可以调整)、显示的数据值的大小
for a, b in zip(x, nums): # 使用for 循环依次次输出 zip()对应连接
plt.text(a, b + 2, b, ha=‘center’, va=‘bottom’)
3.3条形图示例2
import matplotlib.pyplot as plt
import numpy as npplt.figure(figsize=(8,6),facecolor="yellow")
plt.rcParams["font.family"] = "kaiTi"
nums = [172, 169, 177, 201, 238, 290]
luqu_nums = [54, 57, 58, 72, 76, 79]
x_ticks = [2014, 2015, 2016, 2017, 2018, 2019]
x = range(0, len(nums))
# 显示x坐标对应位置的内容,就是位置更名函数,plt.xticks()
plt.xticks(x, x_ticks) # rotation="vertical" 倒转九十度
plt.bar(x, nums, width=0.4, label="研究生报考人数")
plt.bar([i + 0.4 for i in x], luqu_nums, width=0.4, label="研究生录取人数")# plt.text(a,b,b)数据显示的横坐标、显示的位置高度、显示的数据值的大小
for y in nums, luqu_nums:for a, b in zip(x, y):if y == luqu_nums:a += 0.4 # 控制第二个条形数据显示的横坐标plt.text(a, b + 2, b, ha='center', va='bottom')plt.xlabel("年份")
plt.ylabel("人数/万人")
plt.legend(loc="upper left") # 显示标签
plt.show()
plt.text(a,b,b)数据显示的横坐标、显示的位置高度、显示的数据值的大小
for y in nums, luqu_nums:
for a, b in zip(x, y):
if y == luqu_nums:
a += 0.4 # 控制第二个条形数据显示的横坐标
plt.text(a, b + 2, b, ha=‘center’, va=‘bottom’)
python条形图和线形图的绘制,并显示数据相关推荐
- Echars 折线图 自动向右平移显示数据(数据量大的时候适应)
<!DOCTYPE html> <html><head><meta charset="utf-8"><title>Ech ...
- python画k线图_Python绘制K线图
不管是对量化分析师还是普通的投资者来说,K线图(蜡烛图)都是一种很经典.很重要的工具.在K线图中,它会绘制每天的最高价.最低价.开盘价和收盘价,这对于我们理解股票的趋势以及每天的多空对比很有帮助. 一 ...
- 不能bostype没有元数据异常_手把手教你用Python画个箱形图,找出“脏数据”
导读:数据质量分析是数据挖掘中数据准备过程的重要一环,是数据预处理的前提,也是数据挖掘分析结论有效性和准确性的基础.没有可信的数据,数据挖掘构建的模型将是空中楼阁. 数据质量分析的主要任务是检查原始数 ...
- python csv数据处理生成图_Python 读取CSV文件数据并生成可视化图形
CSV 文件数据读取并生成图形 CSV 文件格式 在文本文件中存储数据,最简单的方式就是将数据按照一定的格式存放在文件中,在读取文件时根据设计好的格式去将对应数据读取出来,这样就能很方便的进行简单数据 ...
- python画条状图_Python 绘制分组条形图
借助 pandas 绘制分组条形图 1. 示例 1 使用默认颜色 代码 importmatplotlib.pyplot as plt importnumpy as np importpandas as ...
- python 条形图与线图的图例_【Python可视化2】Seaborn之条形图与点线图
原标题:[Python可视化2]Seaborn之条形图与点线图 Seaborn是基于matplotlib的Python可视化库.它提供了一个高级界面来绘制有吸引力的统计图形.Seaborn其实是在ma ...
- Python+matplotlib使用雷达图技术绘制五角星
雷达图是一种常用的数据可视化与展示技术,可以把多个维度的信息在同一个图上展示出来,使得各项指标一目了然.本文代码通过绘制五角星演示了polar()函数的用法. 参考代码: 运行效果: -------- ...
- 利用python获取股票折线图_python绘制香农的投资组合折线图
写在前面 最近在看<赌神数学家>这本书,在此书的第四部分"圣彼得堡悖论的故事"的"香农的恶魔"这一小节中,讲了香农自己对于股票的投资策略.在这一小节 ...
- python可视化Bokeh 线形图(带分页)
bokeh是python中一款基于网页的画图工具库,画出的图像以html格式保存 from bokeh.plotting import figure, show, output_file figure ...
最新文章
- centos5.6无法ping,无法scp的问题解析
- python中的对象拷贝
- Layer 父子页面之间的交互
- SqlServer转换为Mysql的一款工具推荐(mss2sql)
- HTML5 Audio/标签Api整理(二)
- 简单教你React父子组件间平级组件间传值
- Python 全局变量
- 第一章 Burp Suite 安装和环境配置
- 填涂颜色(洛谷P1162题题解,Java语言描述)
- 当一盆植物在MIT成了精,不,它只是成了机器人
- HDU 6170 2017 多校训练:Two strings(DP)
- nib、xib与故事板的关系
- c++ List、Vector、Stack、Queue使用
- 关于使用C#编写一个简单的日志类
- 伺服速度控制模式接线图_伺服驱动器控制模式的接线及其注意事项
- cocos creator制作微信小游戏排行榜构建发布步骤
- html邮件 自定义变量,CSS3中的自定义变量样式用法
- 解析Linux中的VFS文件系统
- Laravel Excel(maatwebsite/excel )导入
- ccd坏点测试软件,如何检测CCDLCD坏点
热门文章
- 计算机技术中常用的术语CAE是指_,计算机技术中常用的术语CAE是指______。A:计算机辅助设计B:计算机辅助制造C:计算机辅助工程D:计...
- (新手版)GitHub安装和配置教程for Windows(肯定看得懂)
- Shiro 第十七章 OAuth2集成
- 如何给 Windows 和 npm 加上 socks 代理
- php自写api文档生成工具
- android自带中文字体,Android中的默认字体系列是什么?
- 树、二叉树(完全二叉树、满二叉树)概念图解
- windows下安装mingw-w64
- WGS 1984地理坐标系的墨卡托投影分度带(UTM ZONE)选择方法
- 学习Hadoop的前提条件