中国统计网|Python绘图库讲解:4大常用库你准备学哪个?( 二 )


本文插图

注意:可以看到在上述的绘图代码中 , 你应该有这样一个感受 , 图中既有matplotlib的绘图代码 , 也有seaborn的绘图代码 。 其实就是这样的 , 我们就是按照matplobt的绘图原理进行图形绘制 , 只是有些地方改成seaborn特有的代码即可 , 剩下的调整格式 , 都可以使用matplotlib中的方法进行调整 。
3
plotly绘图原理
首先在介绍这个图的绘图原理之前 , 我们先简单介绍一下plotly这个绘图库:

  • plotly是一个基于javascript的绘图库 , plotly绘图种类丰富 , 效果美观
  • 易于保存与分享plotly的绘图结果 , 并且可以与Web无缝集成
  • ploty默认的绘图结果 , 是一个HTML网页文件 , 通过浏览器可以直接查看
它的绘图原理和matplotlib、seaborn没有任何关系 , 你需要单独去学习它 。
1. 绘图原理说明通过我自己的学习和理解 , 我将plotly绘图原理高度总结为如下几步:
  • 绘制图形轨迹 , 在ployly里面叫做trace , 每一个轨迹是一个trace
  • 将轨迹包裹成一个列表 , 形成一个“轨迹列表” 。 一个轨迹放在一个列表中 , 多个轨迹也是放在一个列表中
  • 创建画布的同时 , 并将上述的轨迹列表 , 传入到Figure中
  • 使用Layout添加其他的绘图参数 , 完善图形
  • 展示图形
2. 案例说明import numpyas npimport pandasas pdimport plotlyas pyimport plotly.graph_objsas goimport plotly.expressionas pxfrom plotlyimport toolsdf = pd.read_excel("plot.xlsx")# 1.绘制图形轨迹 , 在ployly里面叫做`trace` , 每一个轨迹是一个trace 。 trace0 = go.Scatter(x=df["年份"],y=df["城镇居民"],name="城镇居民")trace1 = go.Scatter(x=df["年份"],y=df["农村居民"],name="农村居民")# 2.将轨迹包裹成一个列表 , 形成一个“轨迹列表” 。 一个轨迹放在一个列表中 , 多个轨迹也是放在一个列表中 。 data = http://news.hoteastday.com/a/[trace0,trace1]# 3.创建画布的同时 , 并将上述的`轨迹列表` , 传入到`Figure`中 。 fig = go.Figure(data)# 4.使用`Layout`添加其他的绘图参数 , 完善图形 。 fig.update_layout( title="城乡居民家庭人均收入", xaxis_title="年份", yaxis_title="人均收入(元)")# 5.展示图形 。 fig.show结果如下:
中国统计网|Python绘图库讲解:4大常用库你准备学哪个?
本文插图

4
pyecharts绘图原理
Echarts是一个由百度开源的数据可视化工具 , 凭借着良好的交互性 , 精巧的图表设计 , 得到了众多开发者的认可 。 而python是一门富有表达力的语言 , 很适合用于数据处理 。 当数据分析遇上了数据可视化时 , pyecharts诞生了 。
pyecharts分为v0.5和v1两个大版本 , v0.5和v1两个版本不兼容 , v1是一个全新的版本 , 因此我们的学习尽量都是基于v1版本进行操作 。
和plotly一样 , pyecharts的绘图原理也是完全不同于matplotlib和seaborn , 我们需要额外的去学习它们的绘图原理 。
1. 绘图原理说明
  • 选择图表类型
  • 声明图形类并添加数据
  • 选择全局变量
  • 显示及保存图表
2. 案例说明# 1.选择图表类型:我们使用的是线图 , 就直接从charts模块中导入Line这个模块;from pyecharts.chartsimport Lineimport pyecharts.optionsas optsimport numpyas npx = np.linspace(0,2 * np.pi,100)y = np.sin(x)( # 2.我们绘制的是Line线图 , 就需要实例化这个图形类 , 直接Line即可; Line # 3.添加数据 , 分别给x,y轴添加数据; .add_xaxis(xaxis_data=http://news.hoteastday.com/a/x) .add_yaxis(series_name="绘制线图",y_axis=y,label_opts=opts.LabelOpts(is_show=False)) .set_global_opts(title_opts=opts.TitleOpts(title="我是标题",subtitle="我是副标题",title_link="https://www.baidu.com/"), tooltip_opts=opts.TooltipOpts)).render_notebook# 4.render_notebook用于显示及保存图表;


推荐阅读