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

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

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

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

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

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

          测试用例维护与计划执行

          以团队为中心的协作沟通

          研发工作流自动化工具

          账号认证与安全管理工具

          Why PingCode
          为什么选择 PingCode ?

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

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

25人以下免费

目录

用python 如何画图工具

用python 如何画图工具

在 Python 中,有许多强大的绘图工具可以帮助你创建各种类型的图表和可视化。常用的 Python 绘图工具包括 Matplotlib、Seaborn、Plotly、Bokeh、Altair 等、这些工具各有其优点和适用场景。其中,Matplotlib 是最基础和广泛使用的工具,而 Seaborn 则建立在 Matplotlib 之上,提供了更高级的接口。Plotly 和 Bokeh 则适用于交互式图表的创建。接下来,我将详细介绍 Matplotlib 的使用方法,并简要介绍其他工具的特点和使用场景。

一、MATPLOTLIB

Matplotlib 是 Python 中最流行的绘图库之一,它提供了大量的绘图功能,能够满足几乎所有的绘图需求。下面详细介绍 Matplotlib 的使用方法。

1、安装 Matplotlib

在使用 Matplotlib 之前,需要先进行安装。你可以使用以下命令安装 Matplotlib:

pip install matplotlib

2、基本绘图

Matplotlib 的基本绘图函数是 pyplot 模块中的 plot 函数。以下是一个简单的绘图示例:

import matplotlib.pyplot as plt

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

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

plt.plot(x, y)

plt.xlabel('X-axis')

plt.ylabel('Y-axis')

plt.title('Simple Line Plot')

plt.show()

在这个示例中,我们首先导入了 matplotlib.pyplot 模块,并定义了 x 和 y 的数据。然后使用 plot 函数绘制了一条简单的折线图,并设置了 x 轴和 y 轴的标签以及图表的标题。最后,使用 show 函数显示图表。

3、常见图表类型

Matplotlib 支持多种常见的图表类型,包括折线图、散点图、条形图、直方图等。以下是一些示例:

  • 折线图

import matplotlib.pyplot as plt

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

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

plt.plot(x, y)

plt.xlabel('X-axis')

plt.ylabel('Y-axis')

plt.title('Line Plot')

plt.show()

  • 散点图

import matplotlib.pyplot as plt

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

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

plt.scatter(x, y)

plt.xlabel('X-axis')

plt.ylabel('Y-axis')

plt.title('Scatter Plot')

plt.show()

  • 条形图

import matplotlib.pyplot as plt

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

values = [5, 7, 3, 8, 6]

plt.bar(categories, values)

plt.xlabel('Categories')

plt.ylabel('Values')

plt.title('Bar Chart')

plt.show()

  • 直方图

import matplotlib.pyplot as plt

import numpy as np

data = np.random.randn(1000)

plt.hist(data, bins=30)

plt.xlabel('Value')

plt.ylabel('Frequency')

plt.title('Histogram')

plt.show()

4、图表定制

Matplotlib 提供了丰富的图表定制选项,可以根据需要对图表进行定制。以下是一些常见的定制示例:

  • 设置线条样式和颜色

import matplotlib.pyplot as plt

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

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

plt.plot(x, y, linestyle='--', color='r')

plt.xlabel('X-axis')

plt.ylabel('Y-axis')

plt.title('Line Plot with Custom Style')

plt.show()

  • 添加图例

import matplotlib.pyplot as plt

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

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

y2 = [1, 4, 6, 8, 10]

plt.plot(x, y1, label='Series 1')

plt.plot(x, y2, label='Series 2')

plt.xlabel('X-axis')

plt.ylabel('Y-axis')

plt.title('Line Plot with Legend')

plt.legend()

plt.show()

  • 设置坐标轴范围

import matplotlib.pyplot as plt

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

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

plt.plot(x, y)

plt.xlabel('X-axis')

plt.ylabel('Y-axis')

plt.title('Line Plot with Axis Limits')

plt.xlim(0, 6)

plt.ylim(0, 12)

plt.show()

二、SEABORN

Seaborn 是建立在 Matplotlib 之上的高级绘图库,提供了更加简洁和美观的接口。它特别适用于统计数据的可视化。下面是 Seaborn 的一些常见用法。

1、安装 Seaborn

可以使用以下命令安装 Seaborn:

pip install seaborn

2、基本绘图

以下是一个使用 Seaborn 绘制折线图的示例:

import seaborn as sns

import matplotlib.pyplot as plt

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

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

sns.lineplot(x=x, y=y)

plt.xlabel('X-axis')

plt.ylabel('Y-axis')

plt.title('Simple Line Plot with Seaborn')

plt.show()

3、常见图表类型

Seaborn 支持多种常见的图表类型,包括折线图、散点图、条形图、直方图、箱线图等。以下是一些示例:

  • 折线图

import seaborn as sns

import matplotlib.pyplot as plt

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

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

sns.lineplot(x=x, y=y)

plt.xlabel('X-axis')

plt.ylabel('Y-axis')

plt.title('Line Plot with Seaborn')

plt.show()

  • 散点图

import seaborn as sns

import matplotlib.pyplot as plt

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

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

sns.scatterplot(x=x, y=y)

plt.xlabel('X-axis')

plt.ylabel('Y-axis')

plt.title('Scatter Plot with Seaborn')

plt.show()

  • 条形图

import seaborn as sns

import matplotlib.pyplot as plt

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

values = [5, 7, 3, 8, 6]

sns.barplot(x=categories, y=values)

plt.xlabel('Categories')

plt.ylabel('Values')

plt.title('Bar Chart with Seaborn')

plt.show()

  • 直方图

import seaborn as sns

import matplotlib.pyplot as plt

import numpy as np

data = np.random.randn(1000)

sns.histplot(data, bins=30)

plt.xlabel('Value')

plt.ylabel('Frequency')

plt.title('Histogram with Seaborn')

plt.show()

  • 箱线图

import seaborn as sns

import matplotlib.pyplot as plt

import numpy as np

data = np.random.randn(100)

sns.boxplot(data=data)

plt.ylabel('Value')

plt.title('Box Plot with Seaborn')

plt.show()

4、图表定制

Seaborn 也提供了丰富的图表定制选项。以下是一些常见的定制示例:

  • 设置图表样式

import seaborn as sns

import matplotlib.pyplot as plt

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

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

sns.set_style('whitegrid')

sns.lineplot(x=x, y=y)

plt.xlabel('X-axis')

plt.ylabel('Y-axis')

plt.title('Line Plot with Custom Style in Seaborn')

plt.show()

  • 调色板

import seaborn as sns

import matplotlib.pyplot as plt

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

values = [5, 7, 3, 8, 6]

sns.barplot(x=categories, y=values, palette='viridis')

plt.xlabel('Categories')

plt.ylabel('Values')

plt.title('Bar Chart with Custom Palette in Seaborn')

plt.show()

  • 添加图例

import seaborn as sns

import matplotlib.pyplot as plt

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

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

y2 = [1, 4, 6, 8, 10]

sns.lineplot(x=x, y=y1, label='Series 1')

sns.lineplot(x=x, y=y2, label='Series 2')

plt.xlabel('X-axis')

plt.ylabel('Y-axis')

plt.title('Line Plot with Legend in Seaborn')

plt.legend()

plt.show()

三、PLOTLY

Plotly 是一个功能强大的交互式绘图库,适用于创建动态和交互式图表。它支持多种图表类型,并且图表可以在浏览器中进行交互。下面是 Plotly 的一些常见用法。

1、安装 Plotly

可以使用以下命令安装 Plotly:

pip install plotly

2、基本绘图

以下是一个使用 Plotly 绘制折线图的示例:

import plotly.graph_objects as go

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

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

fig = go.Figure(data=go.Scatter(x=x, y=y, mode='lines'))

fig.update_layout(title='Simple Line Plot with Plotly',

xaxis_title='X-axis',

yaxis_title='Y-axis')

fig.show()

3、常见图表类型

Plotly 支持多种常见的图表类型,包括折线图、散点图、条形图、直方图、箱线图等。以下是一些示例:

  • 折线图

import plotly.graph_objects as go

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

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

fig = go.Figure(data=go.Scatter(x=x, y=y, mode='lines'))

fig.update_layout(title='Line Plot with Plotly',

xaxis_title='X-axis',

yaxis_title='Y-axis')

fig.show()

  • 散点图

import plotly.graph_objects as go

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

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

fig = go.Figure(data=go.Scatter(x=x, y=y, mode='markers'))

fig.update_layout(title='Scatter Plot with Plotly',

xaxis_title='X-axis',

yaxis_title='Y-axis')

fig.show()

  • 条形图

import plotly.graph_objects as go

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

values = [5, 7, 3, 8, 6]

fig = go.Figure(data=go.Bar(x=categories, y=values))

fig.update_layout(title='Bar Chart with Plotly',

xaxis_title='Categories',

yaxis_title='Values')

fig.show()

  • 直方图

import plotly.graph_objects as go

import numpy as np

data = np.random.randn(1000)

fig = go.Figure(data=go.Histogram(x=data, nbinsx=30))

fig.update_layout(title='Histogram with Plotly',

xaxis_title='Value',

yaxis_title='Frequency')

fig.show()

  • 箱线图

import plotly.graph_objects as go

import numpy as np

data = np.random.randn(100)

fig = go.Figure(data=go.Box(y=data))

fig.update_layout(title='Box Plot with Plotly',

yaxis_title='Value')

fig.show()

四、BOKEH

Bokeh 是另一个强大的交互式绘图库,适用于创建动态和交互式图表。它特别适用于在网页上展示交互式图表。下面是 Bokeh 的一些常见用法。

1、安装 Bokeh

可以使用以下命令安装 Bokeh:

pip install bokeh

2、基本绘图

以下是一个使用 Bokeh 绘制折线图的示例:

from bokeh.plotting import figure, show

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

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

p = figure(title='Simple Line Plot with Bokeh', x_axis_label='X-axis', y_axis_label='Y-axis')

p.line(x, y)

show(p)

3、常见图表类型

Bokeh 支持多种常见的图表类型,包括折线图、散点图、条形图、直方图、箱线图等。以下是一些示例:

  • 折线图

from bokeh.plotting import figure, show

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

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

p = figure(title='Line Plot with Bokeh', x_axis_label='X-axis', y_axis_label='Y-axis')

p.line(x, y)

show(p)

  • 散点图

from bokeh.plotting import figure, show

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

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

p = figure(title='Scatter Plot with Bokeh', x_axis_label='X-axis', y_axis_label='Y-axis')

p.scatter(x, y)

show(p)

  • 条形图

from bokeh.plotting import figure, show

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

values = [5, 7, 3, 8, 6]

p = figure(title='Bar Chart with Bokeh', x_axis_label='Categories', y_axis_label='Values', x_range=categories)

p.vbar(x=categories, top=values, width=0.5)

show(p)

  • 直方图

from bokeh.plotting import figure, show

import numpy as np

from bokeh.transform import dodge

data = np.random.randn(1000)

hist, edges = np.histogram(data, bins=30)

p = figure(title='Histogram with Bokeh', x_axis_label='Value', y_axis_label='Frequency')

p.quad(top=hist, bottom=0, left=edges[:-1], right=edges[1:], line_color='white')

show(p)

  • 箱线图

from bokeh.plotting import figure, show

import numpy as np

data = np.random.randn(100)

q1 = np.percentile(data, 25)

q2 = np.percentile(data, 50)

q3 = np.percentile(data, 75)

iqr = q3 - q1

upper = q3 + 1.5 * iqr

lower = q1 - 1.5 * iqr

p = figure(title='Box Plot with Bokeh', y_axis_label='Value')

p.quad(left=0, right=2, bottom=q1, top=q3, fill_color='lightblue')

p.segment(1, lower, 1, upper, line_color='black')

p.rect(1, q2, 0.7, 0.01, line_color='black')

show(p)

五、ALTAIR

Altair 是一个基于 Vega 和 Vega-Lite 构建的声明式可视化库,适用于创建简洁和交互式图表。下面是 Altair 的一些常见用法。

1、安装 Altair

可以使用以下命令安装 Altair:

pip install altair vega_datasets

2、基本绘图

以下是一个使用 Altair 绘制折线图的示例:

import altair as alt

import pandas as pd

data = pd.DataFrame({'x': [1, 2,

相关问答FAQs:

如何选择合适的Python绘图工具?
在Python中,有多种绘图工具可供选择,包括Matplotlib、Seaborn、Plotly和Bokeh等。选择合适的工具取决于你的需求。例如,如果你需要快速生成简单的图表,Matplotlib可能是最佳选择;如果你需要创建交互式可视化,Plotly或Bokeh会更合适。此外,Seaborn在统计图表方面表现优越,适合数据分析师和科学家使用。

Python绘图工具是否支持3D图形绘制?
是的,许多Python绘图工具支持3D图形的绘制。Matplotlib提供了一个mpl_toolkits.mplot3d模块,允许用户创建3D图形。而Plotly则支持更加丰富的交互式3D图表,适合需要展示复杂数据关系的场景。如果你的项目涉及3D数据可视化,考虑这些工具将会有很大的帮助。

如何在Python中保存绘制的图形?
在Python中,保存绘制的图形通常非常简单。以Matplotlib为例,你可以使用plt.savefig('filename.png')命令将图形保存为PNG格式,还可以选择其他格式如JPEG或PDF。确保在调用该命令前,已经完成了图形的绘制,并在最后调用plt.show()来显示图形。对于其他绘图工具,如Plotly,也有类似的保存功能,通常可以通过导出按钮实现。

相关文章