可视化模块
1 matplotlib
1.1 基本图表绘制
1.1.1 柱形图 bar()
import matplotlib.pyplot as plt
#修改字体
plt.rcParams['font.sans-serif']=['Microsoft YaHei']
#SimHei,黑体;Microsoft YaHei,微软雅黑;SimSun,宋体;NSimSun,新宋体;
#FangSong,仿宋;KaiTi,楷体;MingLiU,细明体;PMingLiU,新细明体;
#解决负号乱码
plt.rcParams['axes.unicode_minus']=False
x=['John','Amy','Jenny','Fowren','查理']
y=[78,54,28,96,68]
plt.bar(x,y)
#修改尺寸和颜色
plt.bar(x,y,width=0.5,color='r')
#'red','r';'green','g';'blue','b';'cyan','c';
#'magenta','m';'yellow','y';'black','k';'white','w';
plt.show()
1.1.2 条形图 barh()
plt.barh(x,y,height=0.5,color='r')
1.1.3 折线图 plot()
plt.plot(x,y,linewidth=0.5,color='c',linestyle='dashdot',marker='*')
#linestyle
#'-','solid';'--','dashed';'.','dotted';
# '-.','dashdot','None','',"不画线;
#marker
#'.','o','v','^','s','*','p','h','D','d','+','x';
1.1.3 面积图 stackplot()
plt.stackplot(x,y,linewidth=0.5,color='c')
1.1.4 散点图 scatter()
plt.scatter(x,y,color='c',edgecolors='k')
#加一条线性趋势线
model=linear_model.LinearRegression().fit(x.values.reshape(-1,1),y)
pred=model.predict(x.values.reshape(-1,1))
1.1.5 饼图和圆环图 pie()
plt.pie(y,labels=x,labeldistance=1.1,autopct='%.2f%%',pctdistance=1.5)
# labeldistance=1.1指定标签离圆心的距离,其中1.1表示1.1倍半径的距离。
# autopct='%.2f%%'指定饼图上显示每个部分占比的格式,其中%.2f%%表示保留两位小数的百分数。
# pctdistance=1.5指定占比文本离圆心的距离,其中1.5表示1.5倍半径的距离。
#分离饼图块
plt.pie(y,labels=x,labeldistance=1.1,autopct='%.2f%%',pctdistance=1.5,explode=[0,0,0,0.3,0],startangle=90,counterclock=False)
# explode=[0,0,0,0.3,0]指定要突出显示(偏移)的部分,其中第4个部分(索引为3)偏移0.3倍半径的距离。其他部分则没有偏移。
# startangle=90指定饼图的起始角度为90度,即从12点钟方向开始。
# counterclock=False指定饼图绘制的方向为顺时针方向。
1.2 图表的美化
1.2.1 在一张画布中绘制多个图表
subplot(int,int,int),画布划分为int行int列,在第int个区域中绘制图表(编号从左到右,从上到下)
plt.subplot(2,2,1)
plt.pie(y,labels=x)
plt.subplot(2,2,4)
plt.barh(x,y)
plt.show()
1.2.2 添加图表元素
#修改画布大小
fig = plt.figure(figsize=(10, 8))
#标题
plt.title(label='成绩图',fontdict={'family':'KaiTi','color':'k','size':30},loc='center')
#坐标轴标题
plt.xlabel('姓名',fontdict={'family':'SimSun','color':'k','size':30},labelpad=20)
plt.ylabel('成绩',fontdict={'family':'SimSun','color':'k','size':30},labelpad=20)
#图例
plt.legend(loc='upper left',fontsize=15)
#数据标签
for a,b in zip(x,y):
plt.text(x=a,y=b,s=b,ha='center',va='bottom',fontdict={'family':'KaiTi','color':'k','size':30})
#网格线
plt.grid(axis=y,color='r',linestyle='dotted',linewidth=1)
1.2.2 调整坐标轴的刻度范围
#xlim()和ylim()
plt.ylim(20,100)
2 pyecharts模块
#示例代码
from pyecharts.charts import Bar
x=['John','Amy','Jenny','Fowren','Ivy']
y1=[78,54,28,96,68]
y2=[93,85,100,63,74]
chart=Bar()
chart.add_xaxis(x)
chart.add_yaxis('English',y1)
chart.add_yaxis('math',y2)
chart.render('图标配置项.html')

2.1 图表配置项
分为全局配置项和系列配置项
全局配置项需导入pyecharts.options

图表元素配置项
| 图标元素 | 配置项函数 |
|---|---|
| ECharts画图动画 | AnimationOpts() |
| 图表初始化 | InitOpts() |
| 工具箱一保存图片工具 | ToolBoxFeatureSaveAsimagesOpts() |
| 工具箱一还原工具 | ToolBoxFeatureRestoreOpts() |
| 工具箱一数据视图工具 | ToolBoxFeatureDataViewOpts() |
| 工具箱一区域缩放工具 | ToolBoxFeatureDataZoomOpts() |
| 工具箱一动态类型切换工具 | ToolBoxFeatureMagicTypeOpts() |
| 工具箱一选框组件 | ToolBoxFeatureBrushOpts() |
| 工具箱一工具 | ToolBoxFeatureOpts() |
| 工具箱 | ToolBoxOpts() |
| 区域选择组件 | BrushOpts() |
| 图表标题 | TitleOpts() |
| 区域缩放 | DataZoomOpts() |
| 图例 | LegendOpts() |
| 视觉映射 | VisualMapOpts() |
| 提示框 | TooltipOpts() |
| 坐标轴轴线 | AxisLineOpts() |
| 坐标轴刻度 | AxisTickOpts() |
| 坐标轴指示器 | AxisPointerOpts() |
| 坐标轴 | AxisOpts() |
| 单轴 | SingleAxisOpts() |
| 原生图形元素组件 | GraphicGroup() |
配置项函数的参数
| 参数 | 含义 |
|---|---|
| type_ | "用于设置图例的类型。为'plain'或省略时表示普通图例;为 'scroll'时表示 可滚动翻页的图例 |
| selected mode | "用于控制是否开启图例选择模式,在该模式下可通过单击图例改变数据系 列的显示状态。为True或省略时表示开启图例选择模式;为 False时表示关 闭图例选择模式;为'single'或'multipl'时分别表示使用单选或多选模式的图 例选择模式" |
| is_show | "用于控制是否显示图例组件。为True或省略时表示显示,为False 时表示 不显示" |
| pos_left | 用于设置图例组件离容器左侧的距离。取值可以是'left'、 'center'、 'right' |
| pos_right | "用于设置图例组件离容器右侧的距离。取值可以是""Ieft'、 'center'、 'right'" |
| pos_top | 用于设置图例组件离容器顶部的距离。取值可以是'top'、 'middle'、 'bottom' |
| pos_bottom | "用于设置图例组件离容器底部的距离。取值可以是'top'、 'middle'. ""bottom'" |
| orient | "用于设置图例列表的布局方向。取值可以是""horizontal'或'vertical',分别 表示横向布局或纵向布局" |
| align | 用于设置图例标记和文本的对齐方式。取值可以是'auto' 'left'、 'right' |
| padding | 用于设置图例的内边距。默认各方向内边距为5px |
| item_gap | "用于设置图例的各个项目的间隔。横向布局时为水平间隔 |
| item_width | 用于设置图例标记的图形宽度。默认宽度为 25 px |
| item_height | 用于设置图例标记的图形高度。默认高度为 14 px |
| inactive color | 用于设置图例关闭时的颜色。默认值是#ccc |
| textstyle_opts | 用于设置图例组件的字体样式 |
| legend_icon | 用于设置图例标记的形状。取值可以是'ircle'、 'rect' 'roundrect'、 'triangle'. 'diamond'、 'pin'、 'arrow' |

浙公网安备 33010602011771号