Python数据可视化~图标辅助元素

设置坐标轴标签、刻度范围and刻度标签

设置标签

设置x轴标签

xlabel(xlabel,fontdict = None, labelpad = None, **kwargs)

xlabel:标签文本
fondict:控制文本样式的字典
labelpad:标签与坐标轴边框的距离

设置y轴标签

ylabel(ylabel,fontdict = None,labelpad = None,**kwargs)

此外,这里Axes对象可以用set_ylabel()方法改标签

实例


import numpy as np
import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False

x = np.linspace(-np.pi,np.pi,256,endpoint = True)
y1,y2 = np.sin(x) ,np.cos(x)
plt.plot(x,y1,x,y2)

plt.xlabel('x轴')
plt.ylabel('y轴')
plt.show()

在这里插入图片描述

设置刻度范围

xlim(left = None, right = None, emit = True, auto = False , *, xmin = None
,xmin = None)

left: 刻度取值左位数
right :右边
emit: 是否通知限制变化的观察者 默认True
auto: 是否允许自动缩放x轴默认为True
xmin:x轴刻度最小值
xmax: 最大值

设置刻度标签

xticks(ticks = None, labels = None, **kwargs

ticks:刻度的位置列表
labels:标签
此外,Axes对象可以用set_xticks() or set_yticks()方法设置

实例

#p51编程题第一题
import numpy as np
import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False

x = np.arange(6)
x_labels = ['语文','数学','英语','物理','化学','生物']
x_width = 0.4

#设置y轴标签
plt.ylabel('平均成绩(分)')
male_marks = np.array([85.5,91,72,59,66,55])
female_marks = np.array([94,82,89.5,62,49,53])

lines1 = plt.bar(x,male_marks,tick_label=x_labels,width=x_width,align="center")
lines2 = plt.bar(x + x_width,female_marks,width=x_width,align="center")

plt.xticks(x+ x_width / 2, x_labels)

plt.show()

在这里插入图片描述
使用这个属性,就可以重新定位标签的位置,使得标签的位置更加好看,这里的作用就是把标签放在两个柱形图的中间

添加标题和图例

添加标题

title(label, fontdict = None, loc = 'center' , pad = None, **kwargs)

label:标题文本
fontdict: 文本样式字典
loc: 标题对齐样式,left right center 默认是center
pad: 标题与图表样式顶部的距离

Axes对象用set_title()方法添加标题

实例

plt.title('拼多多平台子类目的销售额')

在这里插入图片描述

添加图例

legend(handles, labels , loc, bbox_to_anchor, ncol, title, shadow, 
fancybox, *args, **kwargs)

handles,labels:图形识别构成的列表,还有图例项构成的列表,这两个参数应该接收相同的长度的列表,如果不一致,就会截断长的

loc:控制图例位置

字符串说明
best自适应
upper right右上方
upper left左上方
lower right右下方
right右方
center left中心偏左
center right中心偏右
lower center中心偏下
upper center中心偏上
center居中

bbox_to_anchor:控制图例布局,一个包含两个数据的元组,第一个是x第二个是y
ncol: 展示图例列数 默认是1
shadow:阴影默认None
fancybox: 是否圆角边框,默认是None

实例

import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False

data = [29665,3135.4,4292.4,5240.9,5543.4,5633.8,6414.5,9308.1,10353]
labels = ['童装','奶粉辅食','孕妈专区','西湖喂养','宝宝尿裤','春夏新品','童车童床','玩具文娱','童鞋']

plt.pie(data,labels = labels,radius = 0.8,autopct = '%.1f%%')
#设置标题
plt.title('拼多多平台子类目的销售额')
#添加图例
plt.legend(labels,loc = 'upper right',bbox_to_anchor = [1.3,1.1])
plt.show()

在这里插入图片描述

显示网格

显示指定样式的网格

grid(visible = None , which =  'major', axis = 'both', **kwargs)

visible:是否显示网格
which:表示网格类型,major minor both 默认major
axis: 表示显示哪个方向的网格,both x 和 y
linewidth of lw: 网格线的宽度

plt.grid(visible = True, axis = 'y', linewidth = 0.3)

在这里插入图片描述

添加参考线 and 参考区域

添加参考线

水平参考线

axhline(y = 0, xmin = 0, xmax = 1, linestyle = '-', **kwargs)

y:水平参考线的水平线
xmin:表示水平参考线的起始位置,默认为0
xmax: 终止位置 默认1
linestyle: 表示水平参考线的类型, 默认为实线

垂直参考线

axvline(x = 0, xmin = 0, xmax = 1, linestyle = '-', **kwargs)

实例

plt.axvline(x = 0, linestyle = '--')
plt.axhline(y = 0, linestyle = '--')

在这里插入图片描述

参考区域

水平参考区域

axhspan(ymin,ymax,xmin = 0,xmax = 1 **kwargs)

ymin:水平下限
ymax:上限
xmin: 垂直跨度下限
xmax:上限

垂直参考区域

axvspan(xmin,xmax,ymin = 0,ymax = 1 **kwargs)

实例

plt.axvspan(xmin = 0.5,xmax = 2.0, alpha = 0.3)
plt.axhspan(ymin = 0.5,ymax = 1.0, alpha = 0.3)

在这里插入图片描述

添加注释文本

添加指向型注释文本

指向的,就是有图标的

annotate(s, xy, *args, **kwargs)

s:注释文本
xy:注释点的坐标位置,可接受元组
xytext: 注释文本的坐标
xycoords: xy的坐标系统 默认是‘data’ ,代表折现图使用相同的坐标系统
arrowprops:箭头的属性字典
bbox: 注释文本的边框属性字典

对于arrowprops,另外一个作者写的更为详尽

arrowprops解析

plt.annotate("最小值",xy = (-np.pi / 2,-1.0),
					 xytext = (-(np.pi / 2),-0.5),
					 arrowprops = dict(arrowstyle="->"))

在这里插入图片描述

添加无指向型注释文本

text(x,y,s,fontdict = None, withdash = <deprecated parameter>, **kwargs)

x,y注释文本位置
s:内容
fontdict:控制文本的字典
bbox: 边框属性字典
horizontalalignment or ha :水平对齐方式, center right left
verticalalignment o va : 垂直对齐方式, center top bottom baseline center_baseline

实例

plt.text(3.1,0.1,"y=sin(x)",bbox = dict(alpha = 0.2))

在这里插入图片描述

添加表格

table(cellText, cellColours , cellLoc= 'right', colWidths = None
,rowLabels = None, rowColours = None, rowLoc = 'left',  colLabels = None,
colColours = None, colLoc = 'center', loc = 'bottom', bbox = None,
edges = 'closed', **kwargs)

cellTest:单元格数据,是一个二维列表
cellColours: 单元格的背景颜色
cellLoc: 文本对齐方式, left right center 默认right
colWidth: 每列的宽
rowLabels: 行标题的文本
rowColors:行标题背景颜色
rowLoc:标题的对齐方式
colLabels: 表示列标题的文本
colLoc: 列标题的对齐方式
loc:表格与绘图区域的对齐方式

此外,Axes对象可以使用table方法为图表添加表格

实例

plt.table(cellText=[[6,6,6],[8,8,8]],
          colWidths=[0.1] * 3,
          rowLabels=['第一行','第二行'],
          colLabels=['第一列','第二列','第三列'],loc = 'lower right')

在这里插入图片描述

  • 0
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

憨憨小江

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值