常用可视化库

1. Matplotlib

1.1 matplotlib库

常用导入模板

import matplotlib.pyplot as plt
%matplotlib inline
import seaborn as sns
sns.set(style='darkgrid',font_scale=1.3)
plt.rcParams['font.family']='SimHei'
plt.rcParams['axes.unicode_minus']=False

1.1.1 绘图

函数/方法描述
导入import matplotlib.pyplot as plt导入pyplot
%matplotlib inline图表嵌入到Notebook中
%matplotlib notebook图表嵌入到Notebook中
from matplotlib import gridspec不均匀布局模块
字体设置from matplotlib.font_manager import FontManager导入电脑字体
fm = FontManager()字体实例化
mat_font = set(f.name for f in fm.ttflist)
print(mat_font)
打印字体列表
绘图plt.plot(x,y,x,y1…)二维曲线绘图,x默认为绘制点(即y元素)的个数
散点图plt.scatter(x,y,c,s,cmap=plt.cm)绘制散点图,设置散点颜色、散点大小、颜色映射
饼图plt.pie(x,labels,radius,autopct,explode,shadow)绘制饼图,autopct设置百分比标签,explode指定突出的饼块
条形图plt.bar(x,y,bottom,yerr)绘制条形图 ,bottom设置堆叠,yerr设置误差条
直方图plt.hist()绘制直方图,方法同条形图
count,bins,fig =plt.hist()count表示统计次数,bins表示范围
极坐标图ax = plt.subplot(111,projection='polar’
或者polar=‘True’)
绘制极坐标图
ax.plot(x,y)极坐标线性图
ax.bar(x,y)极坐标条形图
箱式图plt.boxplot(arr,sym)箱式图,sym指定异常值样式
热力图plt.imshow(data,cmap)
面积图plt.stackplot([arr1,arr2,arr3…])所有arr纵向聚合值应相等
绘制3D图形from mpl_toolkits3d.mplot3d.axes3d import Axes3D导入3D图形对象包
ax3d = Axes3D(fig)3d建图
ax3d.plot(x,y)3d绘图,改变plot()为其他方法可以绘制不同的图

1.1.2 图像、文字设置

函数/方法描述
图像设置plt.figure(figsize=(10,10))设置图像尺寸,返回Figure数据,尽量放在画图函数plot前面
plt.grid(linestyle,color,alpha)设置网格(样式、颜色、透明度)
plt.axis([xmin,xmax,ymin,ymax])设置两轴取值的范围
plt.xlim([xmin,xmax])设置x轴取值的范围
plt.ylim([ymin,ymax]])设置y轴取值的范围
plt.tick_params(axis=’both’)设置刻度性质
文字设置plt.xticks([刻度值],[刻度标识],fontsize)设置x轴刻度及其标签
plt.yticks([刻度值],[刻度标识],fontsize)设置y轴刻度及其标签
plt.xlable(‘lable’,rotation,fontsize)设置x轴标签
plt.ylable(‘lable’,rotation,fontsize)设置y轴标签
plt.legend([],loc)给图表打标注
plt.text(x,y,s)任意位置(x,y)添加⽂字(s)
plt.title()设置标题
plt.suptitle()设置标题
plt.arrow()添加箭头
plt.annotate(‘note’,xy=(2*np.pi,0),xytext,arrowprops)添加注释,xy指定注释位置,xytext指定文本位置,(arrowprops箭头可选)
plt.figtext()在Figure对象的任意位置添加⽂字
plt.suptitle()为Figure对象添加中⼼化的标题

当中文字体不显示的时候,可以在绘图函数里设置textprops参数,如:

plt.pie(x,labels=labels,textprops={'family':'Kaiti SC','fontsize':18})

1.1.3 图像IO

函数/方法描述
图像操作plt.show()调用图表显示
plt.savefig(‘name.png’,dpi,facecolor,edgecolor,bbox_inches)图表保存导出,像素密度,背景颜色,边界颜色,裁剪空白

| | plt.gca() | 获取当前轴面,返回AxesSubplot数据

1.1.4 Axes轴面设置

函数/方法描述
轴面设置ax = plt.gca()获取轴面(子视图)
ax.spines[‘right’].set_color()脊柱设置颜色
ax.spines[‘bottom’].set_position()脊柱设置位置
ax.set_facecolor()设置视图背景颜⾊
ax.set_marker()设置视图数据点标识符
ax.set_markerfacecolor()设置视图内部填充色彩
ax.set_markeredgecolor()设置视图标识符边界色彩
ax.set_markersize()设置视图标识符大小
plt.sca(ax)对ax命名的视图进行设置
子视图ax = plt.subplot(2,2,2) 或者plt.subplot(222)创建子视图(两⾏两列第⼆个⼦视图)
ax.plot()子视图绘图
plt.axes([left, bottom, width, height])设置子视图位置,数值0~1之间
ax = fig.add_axes([left, bottom, width, height])设置子视图位置,数值0~1之间
多图布局fig,((ax11,ax12,ax13), (ax21,ax22,ax23),(ax31,ax32,ax33)) = plt.subplots(3, 3)均匀多图布局创建子视图,返回一个Figure和一个多子视图组成的元组
gs = gridspec.GridSpec(3,3)
ax = plt.subplot(gs[0,:])
不均匀多图布局
双轴显示ax2 = ax1.twinx()共用x轴,返回一个新的子视图
ax2 = ax1.twiny()共用一个y轴

1.1.5 Figure对象设置

函数/方法描述
fig.set_figwidth()设置图像宽度
fig.set_figheight()设置图像高度
fig.add_axes([left, bottom, width, height])设置子视图位置,数值0~1之间

1.2 plt.plot()属性设置图像风格和样式

颜色设置方式:

  1. [r,g,b],各颜色强度介于0~1;
  2. ‘red’颜色名;
  3. ‘#3c7f99’ 十六进制
  4. 多彩颜色,依据方法1,可按随机数生成:color = np.random.rand(n,3)
属性描述属性值
Color设置线条或点的颜色1.[r,g,b],各颜色强度介于0~1;
2.‘red’颜色名;
3.’#3c7f99’ 十六进制
LineStyle or ls线型细实线、虚点线、点画线、虚画线
LineWidth or lw线条宽度/粗细正实数,默认为0.5
Marker数据点标识符菱形、空心圆圈等13种
MarkerSize标识符大小正实数,默认为6
MarkerEdgeColor标识符边界色彩[r,g,b],各颜色强度介于0~1
MarkerFaceColor标识符内部填充色彩[r,g,b],各颜色强度介于0~1
MarkerEdgeWidth数据点边缘宽度正实数

1.3 plt.rcParams

plt(matplotlib.pyplot)使用rc配置文件来自定义图形的各种默认属性,称之为rc配置或rc参数。

通过rc参数可以修改默认的属性,包括窗体大小、每英寸的点数、线条宽度、颜色、样式、坐标轴、坐标和网络属性、文本、字体等。rc参数存储在字典变量中,通过字典的方式进行访问。

序号属性说明
最常用导入模块时,可直接输入下面两个设置
1plt.rcParams[’axes.unicode_minus’] = False字符显示
2plt.rcParams[’font.sans-serif’] = ‘SimHei’设置字体
线条样式:lines
3plt.rcParams[’lines.linestyle’] = ‘-.’线条样式
4plt.rcParams[’lines.linewidth’] = 3线条宽度
5plt.rcParams[’lines.color’] = ‘blue’线条颜色
6plt.rcParams[’lines.marker’] = None默认标记
7plt.rcParams[’lines.markersize’] = 6标记大小
8plt.rcParams[’lines.markeredgewidth’] = 0.5标记附近的线宽
横、纵轴:xtick、ytick
9plt.rcParams[’xtick.labelsize’]横轴字体大小
10plt.rcParams[’ytick.labelsize’]纵轴字体大小
11plt.rcParams[’xtick.major.size’]x轴最大刻度
12plt.rcParams[’ytick.major.size’]y轴最大刻度
figure中的子图:axes
13plt.rcParams[’axes.titlesize’]子图的标题大小
14plt.rcParams[’axes.labelsize’]子图的标签大小
图像、图片:figure、savefig
15plt.rcParams[’figure.dpi’]图像分辨率
16plt.rcParams[’figure.figsize’]图像显示大小
17plt.rcParams[’savefig.dpi’]图片像素

1.4 常用实参字符

标记字符

字符描述
‘.’点标记
‘,’像素标记
‘o’圆标记
‘v’下三角标记
‘^’上三角标记
‘<’左三角标记
‘>’右三角标记
‘1’下箭头标记
‘2’上箭头标记
‘3’左箭头标记
‘4’右箭头标记
‘s’正方形标记
‘p’五角星标记
‘*’星标记
‘h’六角形标记 1
‘H’六角形标记2
‘+’加号标记
‘x’x号标记
‘D’菱形(diamond)标记
‘d’薄菱形标记
‘|’竖线标记
‘_’横线标记

线型字符

字符描述
‘-’实线
‘–’虚线
‘-.’点画线
‘:’点线

颜色字符

字符描述
‘b’蓝色
‘g’绿色
‘r’红色
‘c’青色
‘m’品红
‘y’黄色
‘k’黑色
‘w’白色

1.5 pie()属性

属性描述属性值
x比例array,如果sum(x)>1,会将多出的部分进行均分
labels分块名称array
explode每一块饼图,离开中心距离默认值为(0,0)
colors颜色可选参数,默认为:None;如果为None,将使用当前活动环的颜色
shadow是否阴影默认值为False
autopct饼图内百分比设置可以使用format字符串或者format function
startangle起始绘制角度默认图是从x轴正方向逆时针画起,如设定startangle=90则从y轴正方向画起
counterclock指定指针方向布尔值,可选参数,默认为:True,即逆时针。将值改为False即可改为顺时针
labeldistancelabel绘制位置,相对于半径的比例如<1则绘制在饼图内侧,默认值为1.1
pctdistance类似于labeldistance指定autopct的位置刻度,默认值为0.6
radius控制饼图半径float,可选参数,默认为:None。如果半径是None,将被设置成1
textprops设置标签(labels)和比例文字的格式字典类型,可选参数,默认值为:None
plt.axis(‘equal’)将饼图显示为正圆形

2. Pyecharts

2.1 Pyecharts库

2.1.1 导入

函数说明
from pyecharts import charts as ch导入表格总包
from pyecharts import options as opts配置包

|from pyecharts.globals import ThemeType| 主题包

2.1.2 常用图表

图表函数说明
直方图from pyecharts import Bar导包
Bar()直方图
折线图from pyecharts.charts import Line导包
Line()折线图
散点图from pyecharts.charts import Scatter导包
Scatter()散点图
饼状图from pyecharts.charts import Pie导包
Pie()饼状图

2.1.3 其他图表

图表函数说明
漏斗图from pyecharts.charts import Funnel导包
Funnel()漏斗图

2.1.4 图像设置及渲染

函数说明
设置.add_xaxis()添加x轴数据
.add_yaxis()添加y轴数据
.set_global_opts()全局配置
.use_theme()配置主题
渲染.render(path)默认将在项目根目录输出一个html格式的图表文件,path可指定路径及名称
.render_notebook()在jupyter notebook中直接渲染出图表

2.1.5 Pyecharts.Options

图像初始设置——init_opts
函数说明
init_opts=opts.InitOpts()作为图像初始设置插入各图表实例中
opts.InitOpts(width, height)设置图像大小
opts.InitOpts(theme)设置图像主题
全局设置——.set_global_opts()
函数说明
.set_global_opts()全局配置
标题配置title_opts=opts.TitleOpts()标题配置
title=“XXX柱状图”主标题
系列设置
函数说明
设置标签label_opts=opts.LabelOpts()设置标签
is_show=True标签显示/不显示

2.1.6 Faker

faker生成实例列表,默认7个值

函数说明
from pyecharts.faker import Faker导包
Faker.choose()随机生成任意实例列表
Faker.values()随机生成任意数字列表
Faker.cars随机生成汽车品牌
Faker.visual_color随机颜色列表
Faker.days_attrs'number天’字符串列表
Faker.clock时间字符串列表
Faker.dogs随机各种狗的列表
Faker.guangdong_city广东省下面7个市的固定列表
Faker.img_path(r’C:\abc.jpg’)返回图片路径
Faker.week_en英文的星期一到日

2.2 Pyecharts常见问题

2.2.1 柱状图等空白不显示

原因:pandas的数据类型继承自numpy,Pyecharts没法针对pandas的数据类型做特殊处理

解决:使用.tolist()方法将pandas数据转化为列表

(
    Bar(init_opts=opts.InitOpts(width="1000px", height="600px"))
    .add_xaxis(index)
    .add_yaxis('PV',pv.to_list())
    .set_global_opts(
        title_opts=opts.TitleOpts(title="每周用户行为可视化"),
        tooltip_opts=opts.TooltipOpts(trigger="axis"),
        toolbox_opts=opts.ToolboxOpts(is_show=False),
        xaxis_opts=opts.AxisOpts(type_="category", boundary_gap=False),
        yaxis_opts=opts.AxisOpts(
            type_="value",
            splitline_opts=opts.SplitLineOpts(is_show=True)
        ),
    )
    .render_notebook()
)

3. Seaborn

3.1 设置

函数设置备注
import seaborn as sns导入seaborn模块
sns.set(style=‘darkgrid’,font_scale=1.3)设置风格、字体大小有五种预设seaborn主题:darkgrid,whitegrid,dark,white,和ticks

3.2 基础图形

函数图形备注
sns.countplot(x,y,hue)条形图显示每个分箱器中的观察计数。x: x轴上的条形图,y: y轴上的条形图,hue:标签按颜色聚合
sns.distplot()直方图集合了matplotlib的hist()与sns.kdeplot()功能
sns.relplot(hue,data)散点图hue根据字段将散点不同颜色区分
sns.catplot(x,y,kind=‘box’,data)箱线图

3.3 进阶图形

函数图形备注
sns.kdeplot()核密度估计图用于对单变量和双变量进行核密度估计并可视化
sns.catplot(x,y,kind=‘violin’,data)小提琴图
sns.heatmap(data,xticklabels,yticklabels,linewidths,cmap,annot)热力图annot设置系数显示,linewidths设置区块间隔线
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值