在当今世界,我们每天都会产生大量数据。有时要分析某些趋势的数据,如果数据是原始格式,模式可能会变得困难。为了克服这种数据可视化发挥作用。数据可视化提供了良好的、有组织的数据图形表示,使其更易于理解、观察和分析。在本系列教程中,我们将讨论如何使用 Python 可视化数据。
Matplotlib
Seaborn
Bokeh
Plotly
我们将一一讨论这些库,并绘制一些最常用的图形。
注意: 如果您想了解有关这些库的深入信息,可以按照他们的完整教程进行操作。
在深入研究这些库之前,首先,我们需要一个数据库来绘制数据。我们将在本完整教程中使用 tips database。让我们讨论一下这个数据库的简介。
使用的数据库
tips 数据库
tips 数据库是20世纪90年代初期顾客在餐厅的两个半月的小费记录。它包含 6 列,例如 total_bill、tip、sex、smoker、day、time、size。
您可以从这里下载 tips 数据库。
例子:
import pandas as pd # 读取数据库 data = pd.read_csv("tips.csv") # 打印前 10 行 print(data.head(10))
输出:
Matplotlib
Matplotlib 是一个易于使用的低级数据可视化库,它构建在 NumPy 数组上。它由散点图、线图、直方图等各种图组成。 Matplotlib 提供了很大的灵活性。
要安装此库,请在终端中输入以下命令。
pip install matplotlib
安装 Matplotlib 后,让我们看看使用这个库最常用的绘图。
散点图
散点图用于观察变量之间的关系,并用点来表示它们之间的关系。matplotlib 库中的scatter()方法用于绘制散点图。
例子:
import pandas as pd import matplotlib.pyplot as plt # 读取数据库 data = pd.read_csv("tips.csv") # day 对 tip 的散点图 plt.scatter(data['day'], data['tip']) # 为 Plot 添加标题 plt.title("Scatter Plot") # 设置 X 和 Y 标签 plt.xlabel('Day') plt.ylabel('Tip') plt.show()
输出:
如果我们可以添加颜色并更改点的大小,则此图会更有意义。我们可以通过分别使用 scatter 函数的c 和 s参数来做到这一点。我们还可以使用colorbar()方法显示颜色条。
import pandas as pd import matplotlib.pyplot as plt # 读取数据库 data = pd.read_csv("tips.csv") # day对tip的散点图 plt.scatter(data['day'], data['tip'], c=data['size'], s=data['total_bill']) # 为Plot添加标题 plt.title("Scatter Plot") # 设置 X 和 Y 标签 plt.xlabel('Day') plt.ylabel('Tip') plt.colorbar() plt.show()
折线图
折线图用于表示不同轴上两个数据 X 和 Y 之间的关系。它是使用plot() 函数绘制的。让我们看看下面的例子。
例子:
import pandas as pd import matplotlib.pyplot as plt # 读取数据库 data = pd.read_csv("tips.csv") # day对tip的折线图 plt.plot(data['tip']) plt.plot(data['size']) # 为Plot添加标题 plt.title("Scatter Plot") # 设置 X 和 Y 标签 plt.xlabel('Day') plt.ylabel('Tip') plt.show()
输出:
条形图
柱状图或叫条形图是表示与长度和高度的矩形条数据的类别是正比于它们所代表的值的图。它可以使用bar()方法创建。
例子:
import pandas as pd import matplotlib.pyplot as plt # 读取数据库 data = pd.read_csv("tips.csv") # day对tip的条形图 plt.bar(data['day'], data['tip']) plt.title("Bar Chart") # 设置 X 和 Y 标签 plt.xlabel('Day') plt.ylabel('Tip') # 添加图例 plt.show()
输出:
直方图
直方图基本上是用来在一些基团的形式来表示数据。它是一种条形图,其中 X 轴表示 bin 范围,而 Y 轴提供有关频率的信息。的HIST()函数用于计算和创建直方图。在直方图中,如果我们传递分类数据,那么它将自动计算该数据的频率,即每个值出现的频率。
例子:
import pandas as pd import matplotlib.pyplot as plt # 读取数据库 data = pd.read_csv("tips.csv") # total_bill直方图 plt.hist(data['total_bill']) plt.title("Histogram") # 添加图例 plt.show()
输出: