📜  使用Python中的不同图表进行数据可视化

📅  最后修改于: 2020-04-16 15:46:40             🧑  作者: Mango

数据可视化是以图形格式表示数据。它通过以简单易懂的格式汇总和呈现大量数据来帮助人们理解数据的重要性,并有助于清晰有效地传达信息。
考虑给定的数据集,我们将为其绘制不同的图表:


用于分析和呈现数据的不同类型的图表

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()
# 显示情节
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()

输出: