如何显示双轴图,使得顶轴和右轴的方向相等。例如,以下代码将生成方形图
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.set_aspect('equal')
ax.plot([0,1],[0,1])
但是只要你使用twinx功能,这就会改变。
ax2 = ax.twinx()
ax2.set_ylim([0,2])
ax3 = ax.twiny()
ax3.set_xlim([0,2])
在ax2和ax3上使用set_aspect('equal')似乎迫使它成为ax的方面,但是set_aspect(0.5)似乎也没有改变任何东西。
简单地说,我希望绘图为正方形,底部和左侧轴从0到1运行,顶部和右轴从0运行到2。
您可以在两个缠绕轴之间设置方位吗?我试过堆叠轴:
ax3 = ax2.twiny()
ax3.set_aspect('equal')
我也尝试在set_aspect中使用adjust关键字:
ax.set_aspect('equal', adjustable:'box-forced')
我能得到的最接近的是:
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.set_aspect('equal', adjustable='box-forced')
ax.plot([0,1],[0,1])
ax2=ax.twinx()
ax3 = ax2.twiny()
ax3.set_aspect(1, adjustable='box-forced')
ax2.set_ylim([0,2])
ax3.set_xlim([0,2])
ax.set_xlim([0,1])
ax.set_ylim([0,1])
产生:
我想删除剧情右侧和左侧的额外空间
答案 0 :(得分:2)
使用两个不同的双轴来获得两组独立的轴似乎过于复杂。如果目标是创建一个方形图,在图的每一侧都有一个轴,则可以使用两个var position;
$('.day').each(function() {
position = false;
$(this).find('.event').each(function() {
var classToBeAdded = $(this).position().top === position ? "class_Name_If_True" : "class_Name_If_False";
$(this).addClass(classToBeAdded);
});
position = $(_el).position().top;
});
,两个位于同一位置但具有不同的比例。然后可以将两者设置为具有相等的宽高比。
axes