Cufflinks
相信很多基于深度学习的研究者们,在做完实验后,都苦于如何画出能让审稿人眼前一亮的可视化图表。但是强大如matlab,也需要下载一些额外的工具包来润色图表。繁重复杂的流程,比做实验还让人心累。
所以今天提供一款无需复杂流程,并且呈现令人惊讶的绘图效果的工具–Cufflinks。Cufflinks是一个使用Plotly库进行数据可视化的Python库。使用Cufflinks,可以通过DataFrame对象直接调用不同类型的绘图方法来生成各种图表,如折线图、散点图、柱状图、饼图等。这些方法与DataFrame的结构紧密集成,允许对数据进行灵活的操作和可视化。
1.Cufflinks安装
安装非常简单,pip命令即可完成
pip install cufflinks
2.Cufflinks绘图
Cufflinks是对plotly的高级封装,它通过对pandas数据对象直接调用iplot方法,就可以方便的生成图表。
步骤一:
导入必要的库,创建DataFrame对象。
(DataFrame是Pandas中最常用的数据结构,可以通过多种方式创建DataFrame对象,包括从CSV文件、Excel电子表格、数据库、Python字典、NumPy数组等读取数据,或手动创建一个空的DataFrame对象并逐步添加数据。)
import pandas as pd
import cufflinks as cf
from plotly.offline import plot, iplot
# 配置Cufflinks以在Jupyter Notebook中显示图表
cf.set_config_file(offline=True) #offline=True表示要在离线模式下进行图表绘制。
创建一个示例DataFrame对象:
data = {'Year': [2010, 2011, 2012, 2013, 2014],
'Sales': [100, 150, 200, 180, 220],
'Expenses': [80, 100, 120, 100, 140]}
df = pd.DataFrame(data)
步骤二:
调用Cufflinks方法,设置绘图参数
常见示例如下:
折线图:
df.iplot(mode= 'lines+markers', x='Year', y=['Sales', 'Expenses'], title='Sales and Expenses Over Years', xTitle='Year', yTitle='Amount', theme = 'white')
散点图
df.iplot(kind='scatter', x='Sales', y='Expenses', mode='markers',
title='Sales vs Expenses', xTitle='Sales', yTitle='Expenses', theme = 'white')
柱状图
df.iplot(kind='bar', x='Year', y=['Sales', 'Expenses'], barmode='stack',
title='Sales and Expenses by Year', xTitle='Year', yTitle='Amount', theme= 'white')
饼图
df.iplot(kind='pie', labels='Year', values='Sales', title='Sales Distribution by Year', theme = 'white')
这只是一些简单的示例,你还可以根据需要使用其他参数和定制选项来创建不同类型的图表。值得注意的是,Cufflinks提供了很多绘图方法和选项,可以使你更轻松地进行数据可视化。
步骤三:
文件保存
将图表保存为HTML文件
plot(df.iplot(kind='scatter', x='Sales', y='Expenses'), filename='scatter.html')
将图表保存为静态图片
plot(df.iplot(kind='scatter', x='Sales', y='Expenses'), image='png', filename='scatter.png')
实际上,你可以直接右上角使用该库提供的拍照功能,一键下载保存。
补充说明
参数补充
kind:指定要绘制的图表类型,例如line(线图)、bar(条形图)、scatter(散点图)、box(箱线图)等。可以根据数据类型和需求选择合适的图表类型。
x:指定X轴上的数据列,通常对应于数据框架中的某个列名。
y:指定Y轴上的数据列或列名列表,即要在图表中显示的数据列。
title:图表的标题。
xTitle:X轴的标题。
yTitle:Y轴的标题。
mode:用于散点图和线图的模式。例如,markers表示仅显示散点,lines表示仅显示线,lines+markers表示同时显示线和散点。
colors:用于指定图表中不同系列的颜色。可以使用字符串、RGB元组、hex代码或Plotly支持的颜色标识符。
template:指定图表的样式模板,用于自定义图表的外观风格。
secondary_y:用于将一个或多个Y轴的数据列分配给副Y轴。可以为其指定True,将会将数据列分配给新的副Y轴。
barmode:用于条形图的模式,控制多个变量在同一条形图上的显示方式。可以选择group(并排放置)或stack(堆叠显示)。
这些是Cufflinks中的一些常用公共参数,可以根据需要进行相应的设置,以实现所需的图表效果和可视化定制。
色彩展示
对于例子中dataframe数据,因为生成的数据时坐标簇,其配色可以有多种方案,在cufflinks中,有很多颜色集,称为colorscale,我们可以通过下面代码获取:
cf.colors.scales()
可以通过colorscale参数来设定,比如 colorscale = ‘prgn’
博主仅将其用于绘制简单图表,基于plotly库的Cufflinks还有很多功能待大家探索。