僅需10道題輕松掌握Matplotlib圖形處理 | Python技能樹征題
- 0. 前言
- 1. 第 1 題:曲線圖的繪制
- 2. 第 2 題:散點圖的繪制
- 3. 第 3 題:條形圖的繪制
- 4. 第 4 題:餅圖的繪制
- 5. 第 5 題:直方圖的繪制
- 6. 第 6 題:添加標題
- 7. 第 7 題:為坐標軸添加標簽
- 8. 第 8 題:在圖形中添加文本說明
- 9. 第 9 題:在圖形中添加箭頭
- 10. 第 10 題:在圖形中添加圖例
- 試題代碼地址
0. 前言
Matplotlib 是 Python 的繪圖庫,它提供了一整套和 matlab 相似的命令 API,可以生成出版質量級別的精美圖形,Matplotlib 使繪圖變得非常簡單,我們就通過 10 道 Python 編程題來掌握使用 Matplotlib 庫進行圖形繪制吧!
1. 第 1 題:曲線圖的繪制
知識點描述:繪制曲線圖,
問題描述:在同一圖片中繪制函式
y
=
x
2
y=x^2
y=x2,
y
=
l
o
g
e
x
y=log_ex
y=loge?x以及
y
=
s
i
n
(
x
)
y=sin(x)
y=sin(x),請從以下選項中選出你認為正確的答案:
A.
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0.1, 2 * np.pi, 100)
y_1 = np.square(x)
y_2 = np.log(x)
y_3 = np.sin(x)
fig = plt.figure()
plt.plot(x,y_1)
fig = plt.figure()
plt.plot(x,y_2)
fig = plt.figure()
plt.plot(x,y_3)
plt.show()
B.
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0.1, 2 * np.pi, 100)
y_1 = np.square(x)
y_2 = np.log(x)
y_3 = np.sin(x)
fig = plt.figure()
plt.plot(x,y_1)
plt.plot(x,y_2)
plt.plot(x,y_3)
plt.show()
C.
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0.1, 2 * np.pi, 100)
y_1 = np.square(x)
y_2 = np.log(x)
y_3 = np.sin(x)
plt.plot(x,y_1, y_2, y_3)
plt.show()
D.
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0.1, 2 * np.pi, 100)
y_1 = np.square(x)
y_2 = np.log(x)
y_3 = np.sin(x)
fig = plt.figure()
plt.plot(x,y_1, y_2, y_3)
plt.show()
正確答案: B
2. 第 2 題:散點圖的繪制
知識點描述:繪制散點圖,
問題描述:繪制函式
y
=
s
i
n
(
x
)
y=sin(x)
y=sin(x)上的點,請從以下選項中選出你認為正確的答案:
A.
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0.1, 2 * np.pi, 50)
y = np.sin(x)
fig = plt.figure()
plt.plot(x, y)
plt.show()
B.
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0.1, 2 * np.pi, 50)
y = np.sin(x)
fig = plt.figure()
plt.barh(x, y)
plt.show()
C.
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0.1, 2 * np.pi, 50)
y = np.sin(x)
fig = plt.figure()
plt.bar(x, y)
plt.show()
D.
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0.1, 2 * np.pi, 50)
y = np.sin(x)
fig = plt.figure()
plt.scatter(x, y)
plt.show()
正確答案: D
3. 第 3 題:條形圖的繪制
知識點描述:繪制條形圖,
問題描述:繪制多組條形圖,比較不同年份相應季度的銷量,請從以下選項中選出你認為正確的選項:
A.
import numpy as np
import matplotlib.pyplot as plt
data = [[10., 20., 30., 20.],[40., 25., 53., 18.],[6., 22., 52., 19.]]
x = np.arange(4)
colors = ['r', 'g', 'b']
for i in range(len(data)):
plt.bar(x + i * 0.25, data[:i], color = colors[i], width = 0.25)
plt.show()
B.
import numpy as np
import matplotlib.pyplot as plt
data = [[10., 20., 30., 20.],[40., 25., 53., 18.],[6., 22., 52., 19.]]
x = np.arange(4)
colors = ['r', 'g', 'b']
for i in range(len(data)):
plt.plot(x + i * 0.25, data[:i], color = colors[i], width = 0.25)
plt.show()
C.
import numpy as np
import matplotlib.pyplot as plt
data = [[10., 20., 30., 20.],[40., 25., 53., 18.],[6., 22., 52., 19.]]
x = np.arange(4)
colors = ['r', 'g', 'b']
for i in range(len(data)):
plt.bar(x + i * 0.25, data[i], color = colors[i], width = 0.25)
plt.show()
D.
import numpy as np
import matplotlib.pyplot as plt
data = [[10., 20., 30., 20.],[40., 25., 53., 18.],[6., 22., 52., 19.]]
x = np.arange(4)
colors = ['r', 'g', 'b']
for i in range(len(data)):
plt.plot(x + i * 0.25, data[i], color = colors[i], width = 0.25)
plt.show()
正確答案: C
4. 第 4 題:餅圖的繪制
知識點描述:使用餅圖對比數量間的相對關系,
問題描述:繪制餅圖,對比串列 [10, 15, 30, 20] 數量間的相對關系,請從以下選項中選出你認為正確的選項:
A.
import matplotlib.pyplot as plt
data = [10, 15, 30, 20]
sum_data = sum(data)
plt.pie(data / sum_data)
plt.show()
B.
import matplotlib.pyplot as plt
data = [10, 15, 30, 20]
plt.pie(sum(data))
plt.show()
C.
import matplotlib.pyplot as plt
data = [10, 15, 30, 20]
plt.pie(range(len(data)), data)
plt.show()
D.
import matplotlib.pyplot as plt
data = [10, 15, 30, 20]
plt.pie(data)
plt.show()
正確答案: D
5. 第 5 題:直方圖的繪制
知識點描述:使用直方圖表示概率分布,
問題描述:根據構造陣列繪制直方圖,請從以下選項中選出你認為正確的答案:
A.
import numpy as np
import matplotlib.pyplot as plt
x = np.random.randn(1024)
plt.hist(x, bins = 20)
plt.show()
B.
import numpy as np
import matplotlib.pyplot as plt
x = np.random.randn(1024)
plt.hist(x, bins=x.shape)
plt.show()
C.
import numpy as np
import matplotlib.pyplot as plt
x = np.random.randn(1024)
plt.hist(x.shape, x)
plt.show()
D.
import numpy as np
import matplotlib.pyplot as plt
x = np.random.randn(1024)
plt.hist(x, x.shape)
plt.show()
正確答案: A
6. 第 6 題:添加標題
知識點描述:在圖形中添加標題,
問題描述:為所繪制的圖形添加中文標題,請從以下選項中選出你認為正確的答案:
A.
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-4, 4, 10005)
y = 5 * (x + 4.2) * (x + 4.) * (x - 2.5)
plt.title('曲線')
plt.plot(x, y, c = 'm')
plt.show()
B.
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-4, 4, 10005)
y = 5 * (x + 4.2) * (x + 4.) * (x - 2.5)
plt.title('曲線')
plt.plot(x, y, c = 'm')
plt.rcParams['font.sans-serif'] = ['SimSun']
plt.show()
C.
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-4, 4, 10005)
y = 5 * (x + 4.2) * (x + 4.) * (x - 2.5)
plt.plot(x, y, c = 'm', title='曲線')
plt.show()
D.
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-4, 4, 10005)
y = 5 * (x + 4.2) * (x + 4.) * (x - 2.5)
plt.plot(x, y, c = 'm', title='曲線')
plt.rcParams['font.sans-serif'] = ['SimSun']
plt.show()
正確答案: B
7. 第 7 題:為坐標軸添加標簽
知識點描述:為圖形坐標軸的添加適當描述標簽幫助用戶理解圖形所表達的含義,
問題描述:已知一函式用于描述加速運動,請繪制一圖形表示時間與距離間關系:
A.
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 8, 1000)
y = 2.0 * x + 0.5 * 5 * x ** 2
plt.xtitle('Time')
plt.ytitle('distance')
plt.plot(x, y, c = 'c')
plt.show()
B.
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 8, 1000)
y = 2.0 * x + 0.5 * 5 * x ** 2
plt.plot(x, y, c = 'c', xlabel = 'Time', ylable = 'distance')
plt.show()
C.
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 8, 1000)
y = 2.0 * x + 0.5 * 5 * x ** 2
plt.plot(x, y, c = 'c', xtitle = 'Time', ytitle = 'distance')
plt.show()
D.
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 8, 1000)
y = 2.0 * x + 0.5 * 5 * x ** 2
plt.xlabel('Time')
plt.ylabel('distance')
plt.plot(x, y, c = 'c')
plt.show()
正確答案:D
8. 第 8 題:在圖形中添加文本說明
知識點描述:在圖形中添加說明文本,凸顯圖中點或線的重要性,
問題描述:使用文本顯式標記函式影像的中點,請從以下選項中選出你認為正確的答案:
A.
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 8, 1000)
y = 2.0 * x + 0.5 * 5 * x ** 2
x_mid = x[0]
y_mid = y[0]
plt.scatter(x_mid, y_mid)
plt.text(x_mid, y_mid, 'mid')
plt.plot(x, y, c = 'c')
plt.show()
B.
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 8, 1000)
y = 2.0 * x + 0.5 * 5 * x ** 2
x_mid = (x[-1] - x[0]) / 2
y_mid = 2.0 * ((x[-1] - x[0]) / 2) + 0.5 * 5 * ((x[-1] - x[0]) / 2) ** 2
plt.scatter(x_mid, y_mid)
plt.text('mid')
plt.plot(x, y, c = 'c')
plt.show()
C.
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 8, 1000)
y = 2.0 * x + 0.5 * 5 * x ** 2
x_mid = x[-1]
y_mid = y[-1]
plt.scatter(x_mid, y_mid)
plt.text(x_mid, y_mid, 'mid')
plt.plot(x, y, c = 'c')
plt.show()
D.
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 8, 1000)
y = 2.0 * x + 0.5 * 5 * x ** 2
x_mid = (x[-1] - x[0]) / 2
y_mid = 2.0 * ((x[-1] - x[0]) / 2) + 0.5 * 5 * ((x[-1] - x[0]) / 2) ** 2
plt.scatter(x_mid, y_mid)
plt.text(x_mid, y_mid, 'mid')
plt.plot(x, y, c = 'c')
plt.show()
正確答案:D
9. 第 9 題:在圖形中添加箭頭
知識點描述:使用箭頭說明圖形中的特定部分,
問題描述:使用箭頭顯式標記函式影像的中點,請從以下選項中選出你認為正確的答案:
A.
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 8, 1000)
y = 2.0 * x + 0.5 * 5 * x ** 2
x_mid = (x[-1] - x[0]) / 2
y_mid = 2.0 * ((x[-1] - x[0]) / 2) + 0.5 * 5 * ((x[-1] - x[0]) / 2) ** 2
plt.annotate('mid',
ha = 'center', va = 'bottom',
xytext = (5, 30.),
xy = (x_mid, y_mid),
arrowprops = { 'facecolor' : 'black', 'shrink' : 0.05 })
plt.plot(x, y, c = 'c')
plt.show()
B.
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 8, 1000)
y = 2.0 * x + 0.5 * 5 * x ** 2
x_mid = (x[-1] - x[0]) / 2
y_mid = 2.0 * ((x[-1] - x[0]) / 2) + 0.5 * 5 * ((x[-1] - x[0]) / 2) ** 2
plt.annotate('mid',
ha = 'center', va = 'bottom',
xytext = (5, 30.),
x = x_mid,
y = y_mid,
arrowprops = { 'facecolor' : 'black', 'shrink' : 0.05 })
plt.plot(x, y, c = 'c')
plt.show()
C.
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 8, 1000)
y = 2.0 * x + 0.5 * 5 * x ** 2
x_mid = (x[-1] - x[0]) / 2
y_mid = 2.0 * ((x[-1] - x[0]) / 2) + 0.5 * 5 * ((x[-1] - x[0]) / 2) ** 2
plt.annotate('mid',
ha = 'center', va = 'bottom',
xtext = 5,
ytext = 30.,
xy = (x_mid, y_mid),
arrowprops = { 'facecolor' : 'black', 'shrink' : 0.05 })
plt.plot(x, y, c = 'c')
plt.show()
D.
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 8, 1000)
y = 2.0 * x + 0.5 * 5 * x ** 2
x_mid = (x[-1] - x[0]) / 2
y_mid = 2.0 * ((x[-1] - x[0]) / 2) + 0.5 * 5 * ((x[-1] - x[0]) / 2) ** 2
plt.annotate('mid',
ha = 'center', va = 'bottom',
xtext = 5,
ytext = 30.,
xy = (x_mid, y_mid),
arrowprops = { 'facecolor' : 'black', 'shrink' : 0.05 })
plt.plot(x, y, c = 'c')
plt.show()
正確答案:A
10. 第 10 題:在圖形中添加圖例
知識點描述:為圖形中的曲線和點添加相應的圖例,以進行準確的區分,
問題描述:一圖形中包含多條曲線和散點,為它們添加圖例,請從以下選項中選出你認為正確的答案:
A.
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 6, 1024)
data = np.random.standard_normal((150, 2))
y_1 = np.sin(x)
y_2 = np.cos(x)
plt.plot(x, y_1, c = 'm', lw = 3., text = 'sin(x)')
plt.plot(x, y_2, c = 'c', lw = 3., ls = '--', text = 'cos(x)')
plt.scatter(data[:,0], data[:, 1], c = 'y', text = 'random')
plt.legend()
plt.show()
B.
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 6, 1024)
data = np.random.standard_normal((150, 2))
print(data.size)
y_1 = np.sin(x)
y_2 = np.cos(x)
plt.plot(x, y_1, c = 'm', lw = 3., title = 'sin(x)')
plt.plot(x, y_2, c = 'c', lw = 3., ls = '--', title = 'cos(x)')
plt.scatter(data[:,0], data[:,1], c = 'y', title = 'random')
plt.legend()
plt.show()
C.
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 6, 1024)
data = np.random.standard_normal((150, 2))
y_1 = np.sin(x)
y_2 = np.cos(x)
plt.plot(x, y_1, c = 'm', lw = 3., label = 'sin(x)')
plt.plot(x, y_2, c = 'c', lw = 3., ls = '--', label = 'cos(x)')
plt.scatter(data[:, 0], data[:, 1], c = 'y', label = 'random')
plt.legend()
plt.show()
D.
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 6, 1024)
data = np.random.standard_normal((150, 2))
y_1 = np.sin(x)
y_2 = np.cos(x)
plt.plot(x, y_1, c = 'm', lw = 3., legend = 'sin(x)')
plt.plot(x, y_2, c = 'c', lw = 3., ls = '--', legend = 'cos(x)')
plt.scatter(data[:, 0], data[:, 1], c = 'y', legend = 'random')
plt.legend()
plt.show()
正確答案:C
試題代碼地址
https://codechina.csdn.net/LOVEmy134611/python_problem
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/312135.html
標籤:python
下一篇:你們要的3D太陽系
