目录
Matplotlib图表绘制
准备工作
import pandas as pd
anscombe = pd.read_csv('../data/e_anscombe.csv') # 资料中提供了这份数据
print(anscombe)
df1 = anscombe[anscombe['dataset']=='I']
df2 = anscombe[anscombe['dataset']=='II']
df3 = anscombe[anscombe['dataset']=='III']
df4 = anscombe[anscombe['dataset']=='IV']
折线图line
-
折线图适用于时间序列数据分析、不同变量变化趋势比较、科学研究实验数据分析以及趋势预测和未来规划等多个场景。
df1.plot() # 默认折线图
#df1.plot(kind='line') # 结果与df1.plot()
#df1.plot.line() # 结果与df1.plot()
# x轴是索引值,y轴是各列的具体值
# 也可以通过参数指定xy轴对应的列名
df1.plot.line(x='x', y='y')
plt.show()
柱状图bar
-
柱状图可应用于销售和市场分析、人口统计、学术研究、项目管理等场景,直观展示不同类别数据大小差异及分布情况,方便比较和分析。
df1.plot.bar() # 柱状图
df1.plot.bar(stacked=True) # 柱状堆积
# 也可以通过参数指定xy轴对应的列名
df1.plot.bar(x='x', y='y')
plt.show()
水平条形图barh
-
条形柱状图适用于销售业绩对比、人口统计分布展示、学术研究成果呈现、项目进度管理等众多场景,以直观的方式展现不同类别数据的大小差异,便于比较和分析各类数据的分布情况。
df1.plot.barh() # 水平条形图
df1.plot.barh(stacked=True) # 水平条形堆积图
# 也可以通过参数指定xy轴对应的列名
df1.plot.barh(x='x', y='y')
plt.show()
饼图pie
-
饼图主要应用于展示各部分占总体的比例关系,常见于市场份额分析、财务报表展示、人口构成统计等场景,能让人直观地看出不同部分在整体中的相对重要程度。
# 饼图,只能展示一维数据
# 参数y指定列名
# 参数autopct='%.2f%%'指定显示百分比 %.2f%%表示保留2位小数
# 参数radius=0.9 指定饼图直径的比例,最大为1
# 参数figsize=(16, 8) 设定图片大小
df1.plot.pie(y='x', autopct='%.2f%%', radius=0.9, figsize=(16, 8))
plt.show()
散点图scatter
-
散点图适用于展示两个变量之间的关系,可用于科学研究中分析变量相关性、金融领域判断资产价格关系、市场调研中探索因素关联等场景。
# 指定xy轴,grid=True开启背景辅助线
df1.plot.scatter(x='x', y='y', grid=True)
plt.show()