python条形图和线形图的绘制,并显示数据 您所在的位置:网站首页 plot函数python中figsize python条形图和线形图的绘制,并显示数据

python条形图和线形图的绘制,并显示数据

2023-09-07 20:00| 来源: 网络整理| 查看: 265

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] , …)

参数说明xx轴坐标,一般为列表(没有值时,值的个数默认与y轴坐标个数相同,从0开始增大)yy轴坐标,通常是一个数或数组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 plt plt.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” )

参数说明xx轴的位置序列,一般为列表中的值yy轴的数值序列,条形图的高度,需要展示的数据width每个条形的宽度,可调整align条形与x轴对齐方式,有center和edge两种,默认为centercolor每个条形的填充颜色edgecolor每个条形的边框颜色

注意:如果要在一个途图中显示多个条形图,可调整位置align,和宽度width,使并列或重叠显示

3.2条形图示例 import matplotlib.pyplot as plt plt.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 np plt.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’)

在这里插入图片描述



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有