Loading

可视化模块

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')

1700527807937

2.1 图表配置项

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

图标元素 配置项函数
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'
posted @ 2023-11-22 17:30  chenelm  阅读(53)  评论(0)    收藏  举报