Python图表数据可视化
海拥 人气:0数据可视化是以图形格式呈现数据。它通过以简单易懂的格式汇总和呈现大量数据,帮助人们理解数据的重要性,并有助于清晰有效地传达信息。
考虑这个给定的数据集,我们将为其绘制不同的图表:
用于分析和呈现数据的不同类型的图表
1.直方图
直方图表示特定现象发生的频率,这些现象位于特定的数值范围内,并以连续和固定的间隔排列。
在下面的代码中绘制直方图Age, Income, Sales
。因此,输出中的这些图显示了每个属性的每个唯一值的频率。
# 导入 pandas 和 matplotlib import pandas as pd import matplotlib.pyplot as plt # 创建上面给出的表的二维数组 data = [['E001', 'M', 34, 123, 'Normal', 350], ['E002', 'F', 40, 114, 'Overweight', 450], ['E003', 'F', 37, 135, 'Obesity', 169], ['E004', 'M', 30, 139, 'Underweight', 189], ['E005', 'F', 44, 117, 'Underweight', 183], ['E006', 'M', 36, 121, 'Normal', 80], ['E007', 'M', 32, 133, 'Obesity', 166], ['E008', 'F', 26, 140, 'Normal', 120], ['E009', 'M', 32, 133, 'Normal', 75], ['E010', 'M', 36, 133, 'Underweight', 40] ] # 使用上述数据数组创建的数据框 df = pd.DataFrame(data, columns = ['EMPID', 'Gender', 'Age', 'Sales', 'BMI', 'Income'] ) # 为数值数据创建直方图 df.hist() # show plot plt.show()
输出:
2. 柱形图
柱形图用于显示不同属性之间的比较,或者它可以显示项目随时间的比较。
# 此处使用之前代码的数据框 # 绘制数值条形图,将显示所有 3 个年龄、收入、销售额之间的比较 df.plot.bar() # 在 2 个属性之间绘制 plt.bar(df['Age'], df['Sales']) plt.xlabel("Age") plt.ylabel("Sales") plt.show()
输出:
3. 箱线图
箱线图是基于 minimum, first quartile, median, third quartile, and maximum
. 术语“箱线图”来自这样一个事实,即图形看起来像一个矩形,线条从顶部和底部延伸。由于延伸线,这种类型的图有时被称为盒须图。
# 对于数据框的每个数字属性 df.plot.box() # 单个属性箱线图 plt.boxplot(df['Income']) plt.show()
输出:
4、饼图
饼图显示一个静态数字以及类别如何代表整体的一部分。饼图以百分比表示数字,所有段的总和需要等于 100%。
plt.pie(df['Age'], labels = {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J"}, autopct ='% 1.1f %%', shadow = True) plt.show() plt.pie(df['Income'], labels = {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J"}, autopct ='% 1.1f %%', shadow = True) plt.show() plt.pie(df['Sales'], labels = {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J"}, autopct ='% 1.1f %%', shadow = True) plt.show()
输出:
5、散点图
散点图显示了两个不同变量之间的关系,它可以揭示分布趋势。当有许多不同的数据点,并且您想突出数据集中的相似性时,应该使用它。这在查找异常值和了解数据分布时很有用。
# 收入和年龄之间的散点图 plt.scatter(df['income'], df['age']) plt.show() # 收入和销售额之间的散点图 plt.scatter(df['income'], df['sales']) plt.show() # 销售额和年龄之间的散点图 plt.scatter(df['sales'], df['age']) plt.show()
输出 :
加载全部内容