📜  如何在Python绘制图形(1)

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

如何在Python绘制图形

Python是一种通用的编程语言,可以使用它来做很多事情,包括绘制图形。在本文中,我们将介绍如何在Python中使用常用的绘图库(Matplotlib和Seaborn)来绘制各种图形。

Matplotlib库

Matplotlib是Python中最广泛使用的绘图库之一。它可以用于绘制各种类型的图形,包括线图、柱状图、散点图、等高线图等。

1.线图

线图是一种最常用的图形类型之一,它用于显示变量随时间变化的趋势。下面是一个简单的例子:

import matplotlib.pyplot as plt

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

plt.plot(x, y)
plt.show()

image

其中,plt.plot()函数用于绘制线图,plt.show()函数用于显示图形。

2.柱状图

柱状图用于比较不同类别之间的数值。下面是一个简单的例子:

import matplotlib.pyplot as plt
 
x = ['A', 'B', 'C', 'D', 'E']
y = [15, 21, 18, 25, 30]

plt.bar(x, y)
plt.show()

image

其中,plt.bar()函数用于绘制柱状图。

3.散点图

散点图用于显示两个连续变量之间的关系。下面是一个简单的例子:

import matplotlib.pyplot as plt
 
x = [2, 4, 5, 7, 8, 10]
y = [3, 6, 2, 8, 10, 7]

plt.scatter(x, y)
plt.show()

image

其中,plt.scatter()函数用于绘制散点图。

4.等高线图

等高线图用于显示三维数据中等高线图的变化。下面是一个简单的例子:

import numpy as np
import matplotlib.pyplot as plt
 
def f(x, y):
    return np.sin(x) ** 10 + np.cos(10 + y * x) * np.cos(x)
 
x = np.linspace(0, 5, 50)
y = np.linspace(0, 5, 40)
X, Y = np.meshgrid(x, y)
Z = f(X, Y)
 
plt.contour(X, Y, Z, colors='black')
plt.show()

image

其中,plt.contour()函数用于绘制等高线图。

Seaborn库

Seaborn是一个基于Matplotlib的Python可视化库,它提供了更高层次的图形界面和更多的绘图选项。它也是很多数据科学项目常用的工具。

1.线图

Seaborn中的线图与Matplotlib中的线图类似。下面是一个示例:

import seaborn as sns
import matplotlib.pyplot as plt
 
tips = sns.load_dataset("tips")
 
sns.lineplot(x="total_bill", y="tip", data=tips)
 
plt.show()

image

其中,sns.lineplot()函数用于绘制线图。

2.柱状图

Seaborn中的柱状图与Matplotlib中的柱状图类似。下面是一个示例:

import seaborn as sns
import matplotlib.pyplot as plt
 
tips = sns.load_dataset("tips")
 
sns.barplot(x="day", y="total_bill", data=tips)
 
plt.show()

image

其中,sns.barplot()函数用于绘制柱状图。

3.散点图

Seaborn中的散点图与Matplotlib中的散点图类似。下面是一个示例:

import seaborn as sns
import matplotlib.pyplot as plt
 
tips = sns.load_dataset("tips")
 
sns.scatterplot(x="total_bill", y="tip", data=tips)
 
plt.show()

image

其中,sns.scatterplot()函数用于绘制散点图。

4.等高线图

Seaborn中没有内置的等高线图函数,但可以使用Matplotlib中的等高线图函数绘制。下面是一个示例:

import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
 
def f(x, y):
    return np.sin(x) ** 10 + np.cos(10 + y * x) * np.cos(x)
 
x = np.linspace(0, 5, 50)
y = np.linspace(0, 5, 40)
X, Y = np.meshgrid(x, y)
Z = f(X, Y)
 
sns.set_style("white")
 
plt.contour(X, Y, Z, colors='black')
plt.show()

image

其中,sns.set_style()函数用于设置图形样式,plt.contour()函数用于绘制等高线图。

结论

在Python中,使用Matplotlib和Seaborn库可以绘制各种类型的图形。其中,Matplotlib库是Python中最常用的绘图库之一,而Seaborn库可以提供更多的选项和更高层次的图形界面,是数据科学项目常用的工具之一。