您的位置:

用Pycharm轻松实现图形绘制

一、Pycharm如何绘制图形

在Pycharm中,可以使用一个多功能的包“matplotlib”来实现多种图形的绘制。这个包可以绘制线图、柱状图、散点图、曲线图、甚至是3D图等等。我们只需要安装这个包并进行简单的调用,即可在Pycharm中轻松实现图形的绘制。下面以绘制一个简单的线图为例说明。

import matplotlib.pyplot as plt

x = [1, 2, 3, 4]
y = [2, 4, 6, 8]

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

以上代码首先调用matplotlib.pyplot包,并导入plt库。然后定义两个列表x与y,分别为图形的x轴与y轴数据。接下来使用plt.plot()方法将这两个列表绘制成一条线图,并使用plt.show()方法进行展示。

二、Pycharm绘制图形的调整

在实际使用中,我们可能需要对绘制出来的图形进行一些调整,包括修改标题、调整坐标范围、更改线条颜色等。下面,我们分别介绍这些调整的方法。

1. 修改图形标题

我们可以使用plt.title()方法来修改图形的标题,代码如下:

import matplotlib.pyplot as plt

x = [1, 2, 3, 4]
y = [2, 4, 6, 8]

plt.plot(x, y)
plt.title("A Simple Line Graph")
plt.show()

以上代码在之前的基础上增加了一行plt.title()方法,将图形的标题设置为"A Simple Line Graph"。

2. 调整坐标范围

我们可以使用plt.xlim()方法和plt.ylim()方法来分别调整x轴和y轴的坐标范围。例如,我们想要x轴从2到5,y轴从0到10,代码如下:

import matplotlib.pyplot as plt

x = [1, 2, 3, 4]
y = [2, 4, 6, 8]

plt.plot(x, y)
plt.title("A Simple Line Graph")
plt.xlim((2, 5))
plt.ylim((0, 10))
plt.show()

以上代码在之前的基础上增加了两行plt.xlim()和plt.ylim()方法,分别将x轴和y轴的坐标范围设置为(2, 5)和(0, 10)。

3. 更改线条颜色

我们可以使用plt.plot()方法的第三个参数(默认为“b-”)来调整线条的颜色。例如,我们想要将线条颜色改为红色,代码如下:

import matplotlib.pyplot as plt

x = [1, 2, 3, 4]
y = [2, 4, 6, 8]

plt.plot(x, y, 'r-')
plt.title("A Simple Line Graph")
plt.show()

以上代码在之前的基础上修改了plt.plot()方法的第三个参数,将线条颜色改为红色。

三、Pycharm绘制常用图形

在实际开发中,我们经常需要绘制一些常见的图形,例如柱状图、饼图等等。下面,我们分别介绍这些常见图形的绘制方法。

1. 绘制柱状图

我们可以使用plt.bar()方法来绘制柱状图,例如,我们想要绘制一张销售额的柱状图,代码如下:

import matplotlib.pyplot as plt

sales = [20, 35, 30, 25, 15]
cities = ['Beijing', 'Shanghai', 'Guangzhou', 'Shenzhen', 'Hangzhou']

plt.bar(cities, sales)
plt.title("Sales Bar Graph")
plt.xlabel("City")
plt.ylabel("Sales")
plt.show()

以上代码首先定义了两个列表sales和cities,分别为图形的y轴和x轴数据。然后使用plt.bar()方法将这两个列表绘制成柱状图,并使用plt.title()、plt.xlabel()、plt.ylabel()方法分别设置标题、x轴标签和y轴标签。

2. 绘制饼图

我们可以使用plt.pie()方法来绘制饼图,例如,我们想要绘制一张不同课程的占比饼图,代码如下:

import matplotlib.pyplot as plt

courses = ['Math', 'English', 'History', 'Physics']
counts = [30, 50, 20, 40]

plt.pie(counts, labels=courses)
plt.title("Courses Pie Chart")
plt.show()

以上代码首先定义了两个列表courses和counts,分别为饼图的标签和占比数据。然后使用plt.pie()方法将这两个列表绘制成饼图,并使用plt.title()方法设置标题。

四、Pycharm绘制高级图形

在实际开发中,我们有时需要绘制一些高级的图形,例如3D图等等。下面,我们分别介绍一些高级图形的绘制方法。

1. 绘制3D曲面图

我们可以使用mpl_toolkits.mplot3d包来绘制3D曲面图,例如,我们想要绘制一张Z=Sin(X^2+Y^2)的曲面图,代码如下:

import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
import numpy as np

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

def f(x, y):
    return np.sin(np.sqrt(x ** 2 + y ** 2))

x = np.linspace(-10, 10, 100)
y = np.linspace(-10, 10, 100)
X, Y = np.meshgrid(x, y)
Z = f(X, Y)

ax.plot_surface(X, Y, Z)
ax.set_xlabel('X Label')
ax.set_ylabel('Y Label')
ax.set_zlabel('Z Label')
plt.show()

以上代码首先导入了mpl_toolkits.mplot3d包,并使用fig.add_subplot()方法创建一个3D子图。然后定义了一个函数f(x, y)为图形的z轴数据(即Z=Sin(X^2+Y^2))。接下来使用np.linspace()方法和np.meshgrid()方法生成x、y坐标的网格点,再使用ax.plot_surface()方法将这些点绘制成3D曲面图,并使用ax.set_xlabel()、ax.set_ylabel()和ax.set_zlabel()方法设置x、y、z轴的标签。

2. 绘制等高线图

我们同样可以使用mpl_toolkits.mplot3d包来绘制等高线图,例如,我们想要绘制一张Z=Sin(X^2+Y^2)的等高线图,代码如下:

import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
import numpy as np

fig = plt.figure()

def f(x, y):
    return np.sin(np.sqrt(x ** 2 + y ** 2))

x = np.linspace(-10, 10, 100)
y = np.linspace(-10, 10, 100)
X, Y = np.meshgrid(x, y)
Z = f(X, Y)

ax = fig.add_subplot(111)
c = ax.contour(X, Y, Z)
ax.set_xlabel('X Label')
ax.set_ylabel('Y Label')
plt.show()

以上代码同样在之前的基础上定义了一个函数f(x, y)为图形的z轴数据。然后使用np.linspace()方法和np.meshgrid()方法生成x、y坐标的网格点,再使用ax.contour()方法绘制出等高线图,并使用ax.set_xlabel()和ax.set_ylabel()方法设置x、y轴的标签。