我有工作代码来生成显示加速度计三个参数x,y,z值的图,每个参数都有并排的直线和3D图:
from mpl_toolkits import mplot3d
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
#code here loads data into a dataframe df
fig = plt.figure(figsize=(10,8))
fig.suptitle(filename, fontsize=12)
for p in ('accel','angle','avelo')
i += 1
ax = fig.add_subplot(3, 2, i)
ax.plot(idx,df[p,'x'], label = "x")
ax.plot(idx,df[p,'y'], label = "y")
ax.plot(idx,df[p,'z'], label = "z")
ax.set_ylabel(p)
ax.legend(loc="best")
i += 1
ax = fig.add_subplot(3,2,i,projection='3d')
ax.plot3D(df[p,'x'],df[p,'y'],df[p,'z'],'black')
ax.scatter(df[p]['x'][0],df[p]['y'][0],df[p]['z'][0], c='green', marker='o', s=50)
ax.scatter(df[p]['x'].iloc[-1],df[p]['y'].iloc[-1],df[p]['z'].iloc[-1], c='red', marker='x', s=50)
ax.set_xlabel('x')
ax.set_ylabel('y')
ax.set_zlabel('z')
plt.subplots_adjust(left=0.1,
bottom=0.1,
right=0.9,
top=0.9,
wspace=0.4,
hspace=0.1)
plt.show()
我想让线图的宽度是默认情况下的两倍。有没有一些方法可以使用现有的add_subplot方法来实现这一点,或者我必须修改代码来使用plt.subplot设置这些图?我找到的所有例子都假设后者。
1条答案
按热度按时间xuo3flqw1#
plt.subplots
。.add_subplot
调整轴的方法*在
python 3.11.2
、matplotlib 3.7.1
中测试