如何在 Matplotlib 中绘制等轴的正方形图
我们可以使用 set_aspect()
方法设置绘图的纵横比以使其成为正方形绘图,而 axis()
方法也可以用于在 Matplotlib 中制作具有相等轴的正方形绘图。
set_aspect()
绘制等轴方图
我们可以使用 matplotlib.axes.Axes.set_aspect()
函数设置长宽比。如果在函数中使用等于作为长宽比,则得到的图在 X 轴和 Y 轴上从数据点到绘图单位的缩放比例相同。
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-3,3,100)
y = np.sin(x)
fig = plt.figure()
ax = fig.add_subplot(111)
plt.plot(x, y)
plt.xlim(-3,3)
plt.ylim(-3,3)
ax.set_aspect('equal', adjustable='box')
plt.xlabel("x")
plt.ylabel("sinx")
plt.show()
plt.xlim(-3,3)
plt.ylim(-3,3)
ax.set_aspect('equal')
它将 X 轴和 Y 轴设置为相同的范围。然后 ax.set_aspect('equal')
将两个轴设置为相等。
当两个轴的范围设置为相同时,上述方法仅产生一个正方形图。要在一般情况下生成正方形图,我们必须使用以下命令手动设置纵横比:
axes.set_aspect(1./axes.get_data_ratio())
axes.get_data_ratio()
获取原始绘图数据的比率。倒数的值传递给 set_aspect()
以使轴相等,而无需手动设置轴的限制。
代码:
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-3,3,100)
y = np.sin(x)
fig = plt.figure()
ax = fig.add_subplot(111)
plt.plot(x, y)
ax.set_aspect(1.0/ax.get_data_ratio(), adjustable='box')
plt.xlabel("x")
plt.ylabel("sinx")
plt.show()
使用 axis()
方法生成正方形图
如果我们将 "square"
作为参数传递给 matplotlib.pyplot.axis()
,则会创建一个正方形图其中两个轴所占的范围等于图中的长度。
import numpy as np
import matplotlib.pyplot as plt
x=np.linspace(-3,3,100)
y=np.sin(x)
plt.plot(x, y)
plt.axis('square')
plt.xlabel("x")
plt.ylabel("sinx")
plt.show()
相关文章
Pandas DataFrame DataFrame.shift() 函数
发布时间:2024/04/24 浏览次数:133 分类:Python
-
DataFrame.shift() 函数是将 DataFrame 的索引按指定的周期数进行移位。
Python pandas.pivot_table() 函数
发布时间:2024/04/24 浏览次数:82 分类:Python
-
Python Pandas pivot_table()函数通过对数据进行汇总,避免了数据的重复。
Pandas read_csv()函数
发布时间:2024/04/24 浏览次数:254 分类:Python
-
Pandas read_csv()函数将指定的逗号分隔值(csv)文件读取到 DataFrame 中。
Pandas 多列合并
发布时间:2024/04/24 浏览次数:628 分类:Python
-
本教程介绍了如何在 Pandas 中使用 DataFrame.merge()方法合并两个 DataFrames。
Pandas loc vs iloc
发布时间:2024/04/24 浏览次数:837 分类:Python
-
本教程介绍了如何使用 Python 中的 loc 和 iloc 从 Pandas DataFrame 中过滤数据。
在 Python 中将 Pandas 系列的日期时间转换为字符串
发布时间:2024/04/24 浏览次数:894 分类:Python
-
了解如何在 Python 中将 Pandas 系列日期时间转换为字符串