📜  绘制数据 python (1)

📅  最后修改于: 2023-12-03 15:11:38.883000             🧑  作者: Mango

绘制数据 Python

Python是一个功能强大的编程语言,可以用于各种各样的应用程序开发。其中一个非常有用的应用程序是绘制数据。在本文中,我们将介绍Python如何使用数据来生成各种图形,包括折线图、散点图、直方图和热力图。

Matplotlib

Matplotlib是Python最常用的绘图库之一,它提供了一个丰富的绘图工具包,支持绘制各种类型的图形和自定义样式。

安装

要安装Matplotlib,请使用以下命令:

pip install matplotlib
绘制折线图

折线图是一种常见的数据可视化类型,适用于展示随时间变化的趋势。

例如,让我们生成一个关于一家公司销售额和花费的折线图:

import matplotlib.pyplot as plt

# 数据
sales = [100, 200, 300, 400, 500]
costs = [50, 100, 150, 200, 250]

# 绘图
plt.plot(sales)
plt.plot(costs)

# 图形装饰
plt.title('Sales and Costs')
plt.xlabel('Month')
plt.ylabel('Amount')
plt.legend(['Sales', 'Costs'])

# 显示图形
plt.show()

Markdown格式的代码片段:

```python
import matplotlib.pyplot as plt

# 数据
sales = [100, 200, 300, 400, 500]
costs = [50, 100, 150, 200, 250]

# 绘图
plt.plot(sales)
plt.plot(costs)

# 图形装饰
plt.title('Sales and Costs')
plt.xlabel('Month')
plt.ylabel('Amount')
plt.legend(['Sales', 'Costs'])

# 显示图形
plt.show()

运行结果:

![折线图示例](https://i.imgur.com/6hvJVaG.png)

### 绘制散点图

散点图是一种可视化数据的方式,适用于展示两个或更多变量之间的关系。在Python中,使用Matplotlib的scatter()函数可以绘制散点图。

例如,让我们生成一个昆虫体长和翅膀长度之间的散点图:

```python
import matplotlib.pyplot as plt

# 数据
insect_lengths = [2, 4, 6, 3, 5, 8]
wing_lengths = [3, 5, 7, 4, 6, 9]

# 绘图
plt.scatter(insect_lengths, wing_lengths)

# 图形装饰
plt.title('Insect Body Length vs. Wing Length')
plt.xlabel('Body Length (mm)')
plt.ylabel('Wing Length (mm)')

# 显示图形
plt.show()

Markdown格式的代码片段:

```python
import matplotlib.pyplot as plt

# 数据
insect_lengths = [2, 4, 6, 3, 5, 8]
wing_lengths = [3, 5, 7, 4, 6, 9]

# 绘图
plt.scatter(insect_lengths, wing_lengths)

# 图形装饰
plt.title('Insect Body Length vs. Wing Length')
plt.xlabel('Body Length (mm)')
plt.ylabel('Wing Length (mm)')

# 显示图形
plt.show()

运行结果:

![散点图示例](https://i.imgur.com/7G23Cy8.png)

### 绘制直方图

直方图是由一组数据的分布所组成的柱状图,适用于展示连续变量。在Python中,可以使用Matplotlib的hist()函数来绘制直方图。

例如,让我们生成一个100个常数随机数的直方图:

```python
import numpy as np
import matplotlib.pyplot as plt

# 数据
data = np.random.randn(100)

# 绘图
plt.hist(data)

# 图形装饰
plt.title('Random Data Histogram')
plt.xlabel('Value')
plt.ylabel('Frequency')

# 显示图形
plt.show()

Markdown格式的代码片段:

```python
import numpy as np
import matplotlib.pyplot as plt

# 数据
data = np.random.randn(100)

# 绘图
plt.hist(data)

# 图形装饰
plt.title('Random Data Histogram')
plt.xlabel('Value')
plt.ylabel('Frequency')

# 显示图形
plt.show()

运行结果:

![直方图示例](https://i.imgur.com/ChPDX5H.png)

### 绘制热力图

热力图是一种二维图形,适用于展示两个变量之间的关系。在Python中,可以使用Matplotlib的imshow()函数来绘制热力图。

例如,让我们生成一个包含随机数据的热力图: 

```python
import numpy as np
import matplotlib.pyplot as plt

# 数据
data = np.random.rand(10, 10)

# 绘图
plt.imshow(data)

# 图形装饰
plt.title('Random Data Heatmap')
plt.xlabel('X')
plt.ylabel('Y')
plt.colorbar()

# 显示图形
plt.show()

Markdown格式的代码片段:

```python
import numpy as np
import matplotlib.pyplot as plt

# 数据
data = np.random.rand(10, 10)

# 绘图
plt.imshow(data)

# 图形装饰
plt.title('Random Data Heatmap')
plt.xlabel('X')
plt.ylabel('Y')
plt.colorbar()

# 显示图形
plt.show()

运行结果:

![热力图示例](https://i.imgur.com/Tl1XcUg.png)

## Seaborn

Seaborn是一个基于Matplotlib的数据可视化库,提供了一系列高级数据可视化工具,支持更多种类的图形和更优秀的样式。

### 安装

要安装Seaborn,请使用以下命令:

pip install seaborn


### 绘制折线图

Seaborn的lineplot()函数可以绘制与Matplotlib的plot()函数类似的折线图。

例如,让我们使用Seaborn绘制一个关于商品价格和销售量的折线图:

```python
import seaborn as sns

# 数据
prices = [10, 12, 14, 16, 18]
sales = [100, 200, 300, 400, 500]

# 绘图
sns.lineplot(x=prices, y=sales)

# 图形装饰
plt.title('Price vs. Sales')
plt.xlabel('Price')
plt.ylabel('Sales')

# 显示图形
plt.show()

Markdown格式的代码片段:

```python
import seaborn as sns

# 数据
prices = [10, 12, 14, 16, 18]
sales = [100, 200, 300, 400, 500]

# 绘图
sns.lineplot(x=prices, y=sales)

# 图形装饰
plt.title('Price vs. Sales')
plt.xlabel('Price')
plt.ylabel('Sales')

# 显示图形
plt.show()

运行结果:

![折线图示例](https://i.imgur.com/B1lXR4z.png)

### 绘制散点图

Seaborn的scatterplot()函数可以绘制与Matplotlib的scatter()函数类似的散点图。

例如,让我们使用Seaborn绘制一个关于汽车速度和油耗的散点图:

```python
import seaborn as sns

# 数据
speeds = [20, 30, 40, 50, 60]
mpg = [30, 25, 20, 15, 10]

# 绘图
sns.scatterplot(x=speeds, y=mpg)

# 图形装饰
plt.title('Speed vs. MPG')
plt.xlabel('Speed')
plt.ylabel('MPG')

# 显示图形
plt.show()

Markdown格式的代码片段:

```python
import seaborn as sns

# 数据
speeds = [20, 30, 40, 50, 60]
mpg = [30, 25, 20, 15, 10]

# 绘图
sns.scatterplot(x=speeds, y=mpg)

# 图形装饰
plt.title('Speed vs. MPG')
plt.xlabel('Speed')
plt.ylabel('MPG')

# 显示图形
plt.show()

运行结果:

![散点图示例](https://i.imgur.com/dD637fZ.png)

### 绘制直方图

Seaborn的histplot()函数可以绘制与Matplotlib的hist()函数类似的直方图。

例如,让我们使用Seaborn绘制一个互联网使用者年龄分布的直方图:

```python
import seaborn as sns

# 数据
ages = [18, 20, 21, 22, 25, 27, 30, 32, 35, 38, 40, 42, 45, 50, 55]

# 绘图
sns.histplot(data=ages)

# 图形装饰
plt.title('Internet User Age Distribution')
plt.xlabel('Age')
plt.ylabel('Count')

# 显示图形
plt.show()

Markdown格式的代码片段:

```python
import seaborn as sns

# 数据
ages = [18, 20, 21, 22, 25, 27, 30, 32, 35, 38, 40, 42, 45, 50, 55]

# 绘图
sns.histplot(data=ages)

# 图形装饰
plt.title('Internet User Age Distribution')
plt.xlabel('Age')
plt.ylabel('Count')

# 显示图形
plt.show()

运行结果:

![直方图示例](https://i.imgur.com/tBwp1dr.png)

### 绘制热力图

Seaborn的heatmap()函数可以绘制与Matplotlib的imshow()函数类似的热力图。

例如,让我们使用Seaborn绘制一个包含随机数据的热力图:

```python
import numpy as np
import seaborn as sns

# 数据
data = np.random.rand(10, 10)

# 绘图
sns.heatmap(data)

# 图形装饰
plt.title('Random Data Heatmap')
plt.xlabel('X')
plt.ylabel('Y')

# 显示图形
plt.show()

Markdown格式的代码片段:

```python
import numpy as np
import seaborn as sns

# 数据
data = np.random.rand(10, 10)

# 绘图
sns.heatmap(data)

# 图形装饰
plt.title('Random Data Heatmap')
plt.xlabel('X')
plt.ylabel('Y')

# 显示图形
plt.show()

运行结果:

![热力图示例](https://i.imgur.com/7ATL6uZ.png)

现在,您已经学会了如何使用Python来绘制各种类型的数据可视化图表!有了这些技能,您可以让自己的数据更加生动和易于理解。