Matplotlib模块
导入模块import matplotlib.pyplot as plt
- x轴标题:
plt.xlabel(xlable:str,fontdict:dict[str,any],labelpad:float,loc:Literal)
xlabel
:x轴标签fontdict
:字体labelpad
:轴标签与轴刻度的距离loc
:['left', 'center', 'right'],标签位置
- y轴标题:
plt.ylabel(ylable:str,fontdict:dict[str,any],labelpad:float,loc:Literal)
xlabel
:y轴标签fontdict
:字体labelpad
:轴标签与轴刻度的距离loc
:['bottom', 'center', 'top'],标签位置
- 图表标题:
plt.title(lable:str,fontdict:dict[str,any],loc:Literal,pad:float,y:float)
- label,fontdict,loc和xlable的参数一样,pad控制标签与图表顶层的距离
fontdict
:修改字体 fontdict={"family":"","style":"","color":""}
family
:sans-serif,serifcolor
:"red","green"
- 设置画布
plt.figure(dip:int,figsize=(width,height))
:画布分辨率和画布大小plt.xticks(rotation=90)/plt.yticks()
:x轴/y轴标签旋转
绘制多个图表
plt.subplot(nrows,ncols,index)
:生成nrows行ncols列的多个图表,index表示第几个,从上到下,从左到右表示1到n。plt.suptitle()
:总标题
fig,ax=plt.subplots(nrows,ncols)
:生成nrows行ncols列的多个图表,ax[0,0]表示第1个;ax[nrows-1,ncols-1]表示最后一个。
plt绘制线图和散点图
- 画单条线
plot([x],y,[fmt],*,data=None,**kwargs)
- 画多条线
plot([x],y,[fmt],[x2],y2,[fmt2],...,**kwargs)
plot(x, y, 'bo') # 创建 y 中数据与 x 中对应值的二维线图,使用蓝色实心圈绘制
plot(y, 'r+') # 使用红色 + 号
颜色字符: 'b' 蓝色,'m' 洋红色,'g' 绿色,'y' 黄色,'r' 红色,'k' 黑色,'w' 白色,'c' 青绿色,'#008000' RGB 颜色符串。多条曲线不指定颜色时,会自动选择不同颜色。
线型参数: '‐' 实线,'‐‐' 破折线,'‐.' 点划线,':' 虚线。
标记字符: '.' 点标记,',' 像素标记(极小点),'o' 实心圈标记,'v' 倒三角标记,'^' 上三角标记,'>' 右三角标记,'<' 左三角标记...等等。
plt.plot(x,y)
plt.show()
plt绘制散点图
scatter()
plt绘制垂直条形图和水平条形图
bar()
plt绘制直方图
hist()
plt绘制饼图
pie()
plt绘制图像
imshow() subplots():创建子图
Seaborn模块
sns.set_style()
import matplotlib.pyplot as plt
import seaborn as sns
# 显示正负号与中文不显示问题
plt.rcParams['axes.unicode_minus'] = False
sns.set_style('darkgrid', {'font.sans-serif':['SimHei', 'Arial']})
# 去除部分warning
import warnings
warnings.filterwarnings('ignore')
## seaborn绘制柱状图
seaborn绘制柱状图
1. 语法
ax=seaborn.barplot(x=None, y=None, hue=None, data=None, order=None, hue_order=None,\
estimator=<function mean>,ci=95, n_boot=1000, units=None, orient=None,\
color=None, palette=None, saturation=0.75,\
errcolor='.26', errwidth=None, capsize=None, dodge=True, ax=None, **kwargs)
sns.barplot会返回一个matplotlib的Axes对象,它代表图表的区域,在这个区域内可以绘制图形、设置坐标轴、刻度、标签等。 2. 参数详解
x
,y
,hue
:<data
中的变量名词或者向量>。data
中用于绘制图表的变量名。hue
可以理解成图例。data
:<DataFrame,数组,数组列表>。用于绘图的数据集。order
,hue_order
:<字符串列表>。绘制类别变量的顺序,若没有,则会从数据对象中推断绘图顺序。estimator
:<映射向量,标量>。统计函数用于估计每个分类条形中的值ci
:<float or "sd" or None>。估计值周转的置信区间大小,若输入的是sd,会跳过bootstrapping的过程,只绘制数据的标准差。n_boot
: < int >。计算置信区间需要的boostrap迭代次数。units
:<data中的变量名词或向量>。采样单元的标识符,用于执行多级bootstrap并解释重复测量设计。orient
:<"v" 或 "h">。绘图的方向(垂直或水平)。这通常是从输入变量的数据类型推断出来的,但是可以用来指定“分类”变量是数字还是宽格式数据。color
: < matplotlib color >。作用于所有元素的颜色,或者渐变色的种子。palette
:<palette name,list or dict>。不同级别的hue变量的颜色。颜色要能被【color_palette()】解释。(seaborn.color_palette.html#seaborn.color_palette "seaborn.color_palette"),或者一个能映射到matplotlib颜色的字典。saturation
:< float > 原始饱和度与绘制颜色的比例。大的色块通常在稍微不饱和的颜色下看起来更好,但是如果希望打印颜色与输入颜色规格完全匹配,请将其设置为1。errcolor
:< matplotlib color >。表示置信区间的线的颜色。errwidth
:< float >。误差条的线的厚度。capsize
:< float >。误差条端部的宽度。dodge
:< bool >。当使用色调嵌套时,元素是否应该沿分类轴移动。ax
:< matplotlib Axes >指定一个axes用于绘图,如果不指定,则使用当前的axes。kwargs
:<key,value mappings> 。其他的关键词参数在绘图时通过 plt.bar传入。
3. 示例
seaborn内置模块数据
tips=sns.load_dataset("tips")
print(tips)
#默认计算每个x类别(day)的y轴变量(total_bill)的平均值,hue:图例
sns.barplot(x='day',y='total_bill',data=tips,hue='sex',ci=None)
#如果统计中位数据,参数estimator=np.median
Axes对象的方法
Patch是二维形状的,比如圆形、矩形、多边形
ax.annotate()添加注释
ax.annotate(text,xy,xytext)
text:str 要添加的注释
xy:tuple(float,float) 要注释的位置
xytext:tuple(float,float) position 注释本文的位置,如果没提供,则默认xy的位置
ha/va=center 水平/垂直居中
textcoords='offset points':表示xytest的坐标将被理解为相对于xy指定的数据点的偏移量,偏移量是以点为单位(1/72英寸)
rotation:标签放置角度
#遍历每个条形并添加标签
for p in ax.patches:
ax.annotate(format(p.get_height(), '.2f'),
(p.get_x() + p.get_width() / 2.,p.get_height()),
ha = 'center', va = 'center', xytext = (0, 10),
textcoords = 'offset points',rotation=45)
ax.set_xlabel(str),ax.set_ylabel(str),ax.set_title(str)
:设置x轴,y轴标题,图表标签。ax.set_xticklabels(labels,rotation)
:x轴标签列表和旋转patch.get_x()/get_width()/get_y()/get_height()
:条形的x坐标,宽度,y坐标,高度
seaborn绘制折线图
1. 语法
seaborn.lineplot(x=None,y=None,hue=None,size=None,style=None,data=None,
palette=None,hue_order=None,hue_norm=None,sizes=None,size_order=None,
size_norm=None,dashes=True,markers=None,style_order=None,units=None,
estimator='mean',ci=95,n_boot=1000,sort=True,err_style='band',
err_kws=None,legend='brief',ax=None,**kwargs)