Lia*_*Fan 145 python matplotlib
我刚刚完成编写代码以在Python中使用pylab制作绘图,现在我想在散点图上叠加10x10的网格.我怎么做?
And*_*lev 190
你想用pyplot.grid
:
x = numpy.arange(0, 1, 0.05)
y = numpy.power(x, 2)
fig = plt.figure()
ax = fig.gca()
ax.set_xticks(numpy.arange(0, 1, 0.1))
ax.set_yticks(numpy.arange(0, 1., 0.1))
plt.scatter(x, y)
plt.grid()
plt.show()
Run Code Online (Sandbox Code Playgroud)
ax.xaxis.grid
并ax.yaxis.grid
可以控制网格线属性.
Jos*_*ush 45
要在每个刻度线上显示网格线,请添加
plt.grid(True)
Run Code Online (Sandbox Code Playgroud)
例如:
import matplotlib.pyplot as plt
points = [
(0, 10),
(10, 20),
(20, 40),
(60, 100),
]
x = list(map(lambda x: x[0], points))
y = list(map(lambda x: x[1], points))
plt.scatter(x, y)
plt.grid(True)
plt.show()
Run Code Online (Sandbox Code Playgroud)
此外,您可能希望自定义样式(例如实线而不是虚线),添加:
plt.rc('grid', linestyle="-", color='black')
Run Code Online (Sandbox Code Playgroud)
例如:
import matplotlib.pyplot as plt
points = [
(0, 10),
(10, 20),
(20, 40),
(60, 100),
]
x = list(map(lambda x: x[0], points))
y = list(map(lambda x: x[1], points))
plt.rc('grid', linestyle="-", color='black')
plt.scatter(x, y)
plt.grid(True)
plt.show()
Run Code Online (Sandbox Code Playgroud)
使用rcParams,您可以非常轻松地显示网格,如下所示
plt.rcParams['axes.facecolor'] = 'white'
plt.rcParams['axes.edgecolor'] = 'white'
plt.rcParams['axes.grid'] = True
plt.rcParams['grid.alpha'] = 1
plt.rcParams['grid.color'] = "#cccccc"
Run Code Online (Sandbox Code Playgroud)
如果在更改这些参数后仍未显示网格,则使用
plt.grid(True)
Run Code Online (Sandbox Code Playgroud)
在打电话之前
plt.show()
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
330009 次 |
最近记录: |