我正在使用pandas和matplotlib的组合来绘制几个类别的三个值。我希望其中一个图具有自己的轴,而另两个图共享一个轴。
关闭,但说明了为什么需要双轴的问题:
pd.DataFrame([[1,2,3],[500,600,700],[500,700,650]],columns = ['foo','bar','baz'],
index = ['a','b','c'])。T.plot(kind ='bar')
相反,我想要 a
条的第二个轴。我的尝试:
smol = pd.DataFrame([[1,2,3],[500,600,700],[500,700,650]],columns = ['foo','bar','baz'],
index = ['a','b','c'])。T
fig = plt.figure(figsize =(10,5))#创建matplotlib图
ax = fig.add_subplot(111)#创建matplotlib轴
ax2 = ax.twinx()#创建另一个与x共享相同x轴的轴。
smol ['a']。plot(kind ='bar',color ='red',ax = ax,width = 0.3,
位置= 1,edgecolor =“黑色”)
smol ['b']。plot(kind ='bar',color ='blue',ax = ax2,width = 0.3,
位置= 0,edgecolor =“黑色”)
ax.set_ylabel('小比例尺')
ax2.set_ylabel('大比例尺')
plt.show()
不幸的是,添加了
smol ['c']。plot(kind ='bar',color ='green',ax = ax2,width = 0.3,
位置= 0,edgecolor =“黑色”)
产生:
我如何让 b
和 c
共享一个轴,但是却像在第一次尝试中那样彼此相邻出现?
答案 0 :(得分:2)
我使用了import java.util.Scanner;
import java.util.concurrent.TimeUnit;
public class ChildClass{
public static void main(String[] args) throws InterruptedException {
Scanner scanner = new Scanner(System.in);
int a = 0;
while (a == 0)
a = scanner.nextInt();
int b = 0;
while (b == 0)
b = scanner.nextInt();
TimeUnit.SECONDS.sleep(1);
System.out.print(a + b);
System.out.flush();
}
}
关键字。代码也大大缩短了
secondary_y