最近刚写了一篇Plotly Express文章,希望对你有所帮助。
Plotly Express
Plotly Express是一个新的高级Python数据可视化库,它是Plotly.py的高级封装,它为复杂的图表提供了一个简单的语法。只需一次导入,大多数绘图只要一个函数调用,接受一个整洁的Pandas dataframe,就可以创建丰富的交互式绘图。
Plotly Express 安装
惯例,使用 pip进行安装。
pip install plotly_express
Plotly Express支持构建图表类型
- scatter:在散点图中,每行data_frame由2D空间中的符号标记表示。
- scatter_3d:在3D散点图中,每行data_frame由3D空间中的符号标记表示。
- scatter_polar:在极坐标散点图中,每行data_frame由极坐标中的符号标记表示。
- scatter_ternary:在三元散点图中,每行data_frame由三元坐标中的符号标记表示。
- scatter_mapbox:在Mapbox散点图中,每一行data_frame都由Mapbox地图上的符号标记表示。
- scatter_geo:在地理散点图中,每一行data_frame都由地图上的符号标记表示。
- scatter_matrix:在散点图矩阵(或SPLOM)中,每行data_frame由多个符号标记表示,在2D散点图的网格的每个单元格中有一个,其将每对dimensions彼此相对绘制。
- density_contour:在密度等值线图中,行data_frame被组合在一起成为轮廓标记,以可视化该值的聚合函数histfunc(例如,计数或总和)的2D分布z。
- density_heatmap:在密度热图中,行data_frame被组合在一起成为彩色矩形瓦片,以可视化该值的聚合函数histfunc(例如,计数或总和)的2D分布 z。
- line:在2D线图中,每行data_frame表示为2D空间中折线标记的顶点。
- line_polar:在极线图中,每行data_frame表示为极坐标中折线标记的顶点。
- line_ternary:在三元线图中,每行data_frame表示为三元坐标中折线标记的顶点。
- line_mapbox:在Mapbox线图中,每一行都data_frame表示为Mapbox地图上折线标记的顶点。
- line_geo:在地理线图中,每一行都data_frame表示为地图上折线标记的顶点。
- parallel_coordinates:在平行坐标图中,每行data_frame由折线标记表示,该折线标记穿过一组平行轴,每个平行轴对应一个平行轴 dimensions。
- parallel_categories:在并行类别(或平行集)图中,每行data_frame与其他共享相同值的行组合,dimensions然后通过一组平行轴绘制为折线标记,每个平行轴对应一个dimensions。
- area:在堆积区域图中,每行data_frame表示为2D空间中折线标记的顶点。连续折线之间的区域被填充。
- bar:在条形图中,每行data_frame表示为矩形标记。
- bar_polar:在极坐标图中,每一行都data_frame表示为极坐标中的楔形标记。
- violin:在小提琴图中,将data_frame行分组成一个曲线标记,以便可视化它们的分布。
- box:在箱形图中,行data_frame被组合在一起成为盒须标记,以显示它们的分布。
- strip:在条形图中,每一行都data_frame表示为类别中的抖动标记。
- histogram:在直方图中,行data_frame被组合在一起成为矩形标记,以可视化该值的聚合函数histfunc(例如,计数或总和)的1D分布y(或者x如果orientation是'h')。
- choropleth:在等值区域图中,每行data_frame由地图上的彩色区域标记表示。
gapminder数据集说明
我们使用gapminder数据集进行体验 Plotly Express 。
gapminder数据集显示2007年按国家/地区的人均预期寿命和人均GDP 之间的趋势:包含1952~2007年世界各国家人口、GDP发展与/地区的人均预期寿命和人均GDP 之间的趋势。
- Country:国家,China
- Continent:洲,Asia
- Year:年份,1952
- LifeExp:预期寿命,44
- POP:人口,556263527
- GdpPercap:分均 GDP,400.448611
- iso_alpha:国家编码,CHN
- iso_num:国家代码,156
上手体验一下,轻松地进行数据可视化。
散点图scatter
常用参数说明:
- data_frame: 一个'整洁' pandas.DataFrame
- x:(字符串:列的名称data_frame)此列中的值用于沿笛卡尔坐标沿x轴定位标记。对于水平histogram()s,这些值用作输入histfunc。
- y:(字符串:列的名称data_frame)此列中的值用于沿笛卡尔坐标中的y轴定位标记。对于垂直histogram()s,这些值用作输入histfunc。
- color:(字符串:列的名称data_frame)此列中的值用于为标记指定颜色。
- size:(字符串:列名称data_frame)此列中的值用于指定标记大小。
- color_continuous_scale:(有效CSS颜色字符串列表)此列表用于在表示的列color包含数字数据时构建连续颜色标度。plotly_express.colors子模块中有各种有用的色标,特别plotly_express.colors.sequential是plotly_express.colors.diverging和plotly_express.colors.cyclical。
- title:(字符串)图标题。
- template:(字符串或Plotly.py模板对象)图模板名称或定义。
- width:(整数,默认None)图形宽度(以像素为单位)。
- height:(整数,默认600)图形高度(以像素为单位)。
使用散点图描述中国人口与GDP增长趋势图
地理散点图scatter_geo
常用参数说明
- data_frame:“整洁”pandas.DataFrame
- lat:(字符串:data_frame)此列的值用于根据地图上的纬度定位标记。
- lon:(字符串:data_frame)此列的值用于根据地图上的经度定位标记。
- locations:(字符串:data_frame)该列中的值将根据locationmode并映射到经度/纬度。
- locationmode:(字符串,“ISO-3”、“美国-州”、“国家名称”之一)确定用于匹配locations地图上的区域。
- color:(字符串:data_frame)此列的值用于为标记指定颜色。
- size:(字符串:data_frame)此列的值用于分配标记大小。
- color_continuous_scale:(有效的css-颜色字符串列表)此列表用于在color包含数字数据。中提供了各种有用的色标。plotly_express.colors子模块,特别是plotly_express.colors.sequential, plotly_express.colors.diverging和plotly_express.colors.cyclical.
- title:(字符串)图形标题。
- width:(整数,默认)None)以像素为单位的图形宽度。
- height:(整数,默认)600)以像素为单位的图形高度。
使用地理散点图描述全球人口与GDP
折线图(line)
常用参数说明
- data_frame:“整洁”pandas.DataFrame
- x:(字符串:data_frame)该列的值用于在笛卡尔坐标中沿x轴定位标记。卧式histogram(),这些值用作histfunc.
- y:(字符串:data_frame)该列的值用于在笛卡尔坐标中沿y轴定位标记。垂直histogram(),这些值用作histfunc.
- color:(字符串:data_frame)此列的值用于为标记指定颜色。
- facet_col:(字符串:data_frame)此列中的值用于在水平方向平面子图分配标记。
- title:(字符串)图形标题。
- width:(整数,默认)None)以像素为单位的图形宽度。
- height:(整数,默认)600)以像素为单位的图形高度。
使用折线图描述1952~2007中国与美国人口增长趋势图
条形图(bar)
常用参数说明
- data_frame:“整洁”pandas.DataFrame
- x:(字符串:data_frame)该列的值用于在笛卡尔坐标中沿x轴定位标记。卧式histogram(),这些值用作histfunc.
- y:(字符串:data_frame)该列的值用于在笛卡尔坐标中沿y轴定位标记。垂直histogram(),这些值用作histfunc.
- color:(字符串:data_frame)此列的值用于为标记指定颜色。
- facet_row:(字符串:data_frame)此列的值用于向垂直方向上的平面子图分配标记。
- facet_col:(字符串:data_frame)此列中的值用于在水平方向平面子图分配标记。
- text:(字符串:data_frame)此列的值以文本标签的形式显示在图中。
- title:(字符串)图形标题。
- template:(String或Plotly.py模板对象)图形模板名称或定义。
- width:(整数,默认)None)以像素为单位的图形宽度。
- height:(整数,默认)600)以像素为单位的图形高度。
使用条形图描述1952~2007中国与美国人口增长趋势图
等值区域图(choropleth)
常用参数说明
- data_frame:“整洁”pandas.DataFrame
- lat:(字符串:data_frame)此列的值用于根据地图上的纬度定位标记。
- lon:(字符串:data_frame)此列的值用于根据地图上的经度定位标记。
- locations:(字符串:data_frame)该列中的值将根据locationmode并映射到经度/纬度。
- locationmode:(字符串,“ISO-3”、“美国-州”、“国家名称”之一)确定用于匹配locations地图上的区域。
- color:(字符串:data_frame)此列的值用于为标记指定颜色。
- size:(字符串:data_frame)此列的值用于分配标记大小。
- color_continuous_scale:(有效的css-颜色字符串列表)此列表用于在color包含数字数据。中提供了各种有用的色标。plotly_express.colors子模块,特别是plotly_express.colors.sequential, plotly_express.colors.diverging和plotly_express.colors.cyclical.
- title:(字符串)图形标题。
- width:(整数,默认)None)以像素为单位的图形宽度。
- height:(整数,默认)600)以像素为单位的图形高度。
使用等值区域图描述各个国家人口数量
若对你有所帮助,欢迎大家评论、留言。
这里简单介绍2个非常好用的Python数据可视化模块—matplotlib和seaborn,对于日常制图来说,完全可以满足需求,而且也非常容易掌握,下面我简单介绍一下这2个模块的安装和使用,感兴趣的朋友可以尝试一下:
matplotlib
这是Python中专门用于数据可视化的一个模块,使用非常广泛,可以制作出各种各样的图表,包括散点图、柱状图、折线图、直方图等,下面我简单介绍一下这个模块:
1.首先,安装matplotlib模块,这个直接在cmd窗口输入命令“pip install matplotlib”就行,如下,我的环境已经正确安装:
2.安装完成后,我们就可以直接编程来实现数据可视化了,测试代码如下(官网教学示例),简单绘制了一个散点图,基本思想先规整化数据,然后设置相关绘制参数,最后再绘制显示出来:
程序运行截图如下,效果还是非常不错的:
3.更多制图的话,可以参考官网教程,每个参数及其功能都介绍的非常详细,示例也非常丰富,都有源码可供下载,对于开发者使用来说,非常有帮助:
seaborn
这是基于matplotlib的一个数据可视化模块,是对matplotlib基本功能的更高级封装,去掉了matplotlib许多默认参数的配置,因此对用户来说,代码量更少,也更容易学习和掌握,下面我简单介绍一下这个模块:
1.首先,安装seaborn模块,这个也直接在cmd窗口输入命令“pip install seaborn”就行,如下,安装非常迅速:
2.安装完成后,我们就可以直接编程来实现数据可视化了,测试代码如下,一个简单的气泡图(官网示例),基本思想先加载数据,然后plot绘制,最后再显示出来:
程序运行效果如下,效果也非常不错:
3.更多示例的话,也直接参考官网教程就行,参数及其功能都介绍的非常详细,源码也可以直接下载到本地学习和使用,非常方便:
至此,我们就完成了Python数据可视化模块matplotlib和seaborn的安装和简单使用。总的来说,这2个模块使用起来非常不错,对于日常数据可视化来说,完全可以满足需求,只要你有一定的Python基础,熟悉一下相关文档和示例,很快就能掌握的,当然,还有许多其他可视化模块,像pyecharts、plotly Express等也有非常不错,网上也有相关教程和资料,介绍的非常详细,感兴趣的话,可以搜一下,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言进行补充。