通过与 Jira 对比,让您更全面了解 PingCode

  • 首页
  • 需求与产品管理
  • 项目管理
  • 测试与缺陷管理
  • 知识管理
  • 效能度量
        • 更多产品

          客户为中心的产品管理工具

          专业的软件研发项目管理工具

          简单易用的团队知识库管理

          可量化的研发效能度量工具

          测试用例维护与计划执行

          以团队为中心的协作沟通

          研发工作流自动化工具

          账号认证与安全管理工具

          Why PingCode
          为什么选择 PingCode ?

          6000+企业信赖之选,为研发团队降本增效

        • 行业解决方案
          先进制造(即将上线)
        • 解决方案1
        • 解决方案2
  • Jira替代方案

25人以下免费

目录

python中如何做统计图

python中如何做统计图

在Python中,可以使用多个库来创建统计图,其中最常用的库包括Matplotlib、Seaborn和Pandas。这些库提供了广泛的功能来绘制各种类型的统计图,如折线图、柱状图、散点图、箱线图等。接下来,我将详细介绍这些库的使用方法,并展示如何用它们创建统计图。


一、MATPLOTLIB库

Matplotlib是Python中最基础和最常用的绘图库。它提供了非常详细的控制和广泛的功能,可以绘制几乎所有类型的图表。

1、安装Matplotlib

要使用Matplotlib,首先需要安装它。你可以使用以下命令通过pip进行安装:

pip install matplotlib

2、基本使用方法

(1)折线图

折线图是展示数据随时间变化的常用图表。以下是一个简单的示例:

import matplotlib.pyplot as plt

数据

x = [1, 2, 3, 4, 5]

y = [2, 3, 5, 7, 11]

绘制折线图

plt.plot(x, y)

plt.xlabel('X轴标签')

plt.ylabel('Y轴标签')

plt.title('折线图示例')

plt.show()

(2)柱状图

柱状图通常用于比较不同类别的数据。以下是一个柱状图的示例:

import matplotlib.pyplot as plt

数据

categories = ['A', 'B', 'C', 'D']

values = [4, 7, 1, 8]

绘制柱状图

plt.bar(categories, values)

plt.xlabel('类别')

plt.ylabel('值')

plt.title('柱状图示例')

plt.show()

(3)散点图

散点图用于显示两个变量之间的关系。以下是一个散点图的示例:

import matplotlib.pyplot as plt

数据

x = [1, 2, 3, 4, 5]

y = [2, 3, 5, 7, 11]

绘制散点图

plt.scatter(x, y)

plt.xlabel('X轴标签')

plt.ylabel('Y轴标签')

plt.title('散点图示例')

plt.show()

(4)箱线图

箱线图用于展示数据的分布情况,尤其是数据的中位数、四分位数和异常值。以下是一个箱线图的示例:

import matplotlib.pyplot as plt

数据

data = [3, 5, 7, 8, 9, 10, 11, 15, 18, 20, 21, 22, 23, 25, 27, 30]

绘制箱线图

plt.boxplot(data)

plt.title('箱线图示例')

plt.show()

二、SEABORN库

Seaborn是建立在Matplotlib之上的高级绘图库,提供了更简洁的语法和更美观的图表样式,适合快速创建复杂的统计图。

1、安装Seaborn

同样地,你需要先安装Seaborn:

pip install seaborn

2、基本使用方法

(1)线性回归图

Seaborn可以轻松绘制带有线性回归线的散点图:

import seaborn as sns

import matplotlib.pyplot as plt

数据

tips = sns.load_dataset("tips")

绘制线性回归图

sns.lmplot(x="total_bill", y="tip", data=tips)

plt.title('线性回归图示例')

plt.show()

(2)箱线图

Seaborn可以非常方便地绘制分组箱线图:

import seaborn as sns

import matplotlib.pyplot as plt

数据

tips = sns.load_dataset("tips")

绘制箱线图

sns.boxplot(x="day", y="total_bill", data=tips)

plt.title('箱线图示例')

plt.show()

(3)热力图

热力图用于展示矩阵数据的强度,常用于相关性矩阵的可视化:

import seaborn as sns

import matplotlib.pyplot as plt

数据

flights = sns.load_dataset("flights")

flights = flights.pivot("month", "year", "passengers")

绘制热力图

sns.heatmap(flights, annot=True, fmt="d")

plt.title('热力图示例')

plt.show()

三、PANDAS库

Pandas是一个强大的数据处理库,除了数据处理功能外,它还集成了Matplotlib的绘图功能,可以直接从DataFrame中生成图表。

1、安装Pandas

首先,需要安装Pandas:

pip install pandas

2、基本使用方法

(1)折线图

可以直接从DataFrame绘制折线图:

import pandas as pd

import matplotlib.pyplot as plt

数据

data = {'日期': ['2023-01-01', '2023-01-02', '2023-01-03', '2023-01-04', '2023-01-05'],

'值': [10, 12, 15, 13, 17]}

df = pd.DataFrame(data)

设置日期为索引

df['日期'] = pd.to_datetime(df['日期'])

df.set_index('日期', inplace=True)

绘制折线图

df.plot()

plt.title('Pandas折线图示例')

plt.show()

(2)柱状图

Pandas也可以轻松绘制柱状图:

import pandas as pd

import matplotlib.pyplot as plt

数据

data = {'类别': ['A', 'B', 'C', 'D'],

'值': [4, 7, 1, 8]}

df = pd.DataFrame(data)

绘制柱状图

df.plot(kind='bar', x='类别', y='值')

plt.title('Pandas柱状图示例')

plt.show()

(3)散点图

Pandas可以直接生成散点图:

import pandas as pd

import matplotlib.pyplot as plt

数据

data = {'X': [1, 2, 3, 4, 5],

'Y': [2, 3, 5, 7, 11]}

df = pd.DataFrame(data)

绘制散点图

df.plot(kind='scatter', x='X', y='Y')

plt.title('Pandas散点图示例')

plt.show()

四、综合应用

通过综合使用Matplotlib、Seaborn和Pandas,可以创建更复杂和美观的统计图表。

1、联合使用Matplotlib和Seaborn

可以在同一图中使用Matplotlib和Seaborn的功能:

import matplotlib.pyplot as plt

import seaborn as sns

import pandas as pd

数据

data = {'X': [1, 2, 3, 4, 5],

'Y': [2, 3, 5, 7, 11],

'类别': ['A', 'B', 'A', 'B', 'A']}

df = pd.DataFrame(data)

创建一个Matplotlib图形

plt.figure(figsize=(10, 6))

使用Seaborn绘制散点图

sns.scatterplot(x='X', y='Y', hue='类别', data=df)

使用Matplotlib添加标题和标签

plt.title('联合使用Matplotlib和Seaborn')

plt.xlabel('X轴')

plt.ylabel('Y轴')

显示图形

plt.show()

2、使用Pandas处理数据并绘图

Pandas可以用于处理数据,然后使用Seaborn或Matplotlib进行绘图:

import pandas as pd

import seaborn as sns

import matplotlib.pyplot as plt

数据

data = {'日期': ['2023-01-01', '2023-01-02', '2023-01-03', '2023-01-04', '2023-01-05'],

'值': [10, 12, 15, 13, 17]}

df = pd.DataFrame(data)

转换日期列为日期类型

df['日期'] = pd.to_datetime(df['日期'])

设置日期为索引

df.set_index('日期', inplace=True)

使用Seaborn绘制折线图

sns.lineplot(data=df, x='日期', y='值')

添加标题

plt.title('使用Pandas处理数据并绘图')

显示图形

plt.show()

五、总结

在Python中,Matplotlib、Seaborn和Pandas是创建统计图的主要库。每个库都有其独特的优势和适用场景。Matplotlib提供了详细的控制和灵活性,适合创建自定义图表;Seaborn提供了更简洁的语法和美观的样式,适合快速创建复杂的统计图;Pandas则可以方便地处理数据并直接生成图表,适合数据分析和可视化。

通过熟练掌握这些库的使用方法,你可以在Python中创建各种类型的统计图表,从而更好地分析和展示数据。

相关问答FAQs:

在Python中制作统计图需要哪些库?
制作统计图常用的库包括Matplotlib、Seaborn和Pandas。Matplotlib是基础库,提供了丰富的绘图功能;Seaborn基于Matplotlib,提供了更美观的统计图表;Pandas则适合处理数据框并直接绘图,特别是对于时间序列数据。

如何选择合适的统计图类型?
选择统计图类型应根据数据的特点和分析目的。如果需要比较不同类别的数据,可以使用柱状图或条形图;如果要展示数据的分布,直方图和箱线图是不错的选择;而当需要展示两个变量之间的关系时,散点图是最佳选择。

如何在Python中自定义统计图的样式?
在Python中,可以通过Matplotlib和Seaborn提供的多种选项来自定义统计图的样式。例如,可以修改图形的颜色、线型、标记样式,以及添加标题、标签和注释等。使用Seaborn时,可以通过主题设置来快速改变整体风格,使图表更加美观和易于理解。

相关文章