Python操纵轴(x和y)upd

2024-09-29 23:20:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我们测量整个装置的半径(每度360点),大约148毫米。应该在146到150之间。你知道吗

如果用相应的极限绘制数据,可以得到: CirclPlot

我喜欢改变轴,在-145和145之间是小的,在145-150/-145--150之间是大的。所以我可以看到测量值在极限之间。你知道吗

用python可以吗?你知道吗

import matplotlib.pyplot as plt
import matplotlib.scale as mscale
import pandas as pd

#read CSV

EBRData = pd.read_csv('C://Users/vanderey/Documents/MATLAB/EBRTest2.csv', header = 0)

# Define data

Dates = EBRData['Date']
Rx = EBRData['xCoat']
Ry = EBRData['yCoat']
RLSLx = EBRData['xCoat_LSL']
RLSLy = EBRData['yCoat_LSL']
RUSLx = EBRData['xCoat_USL']
RUSLy = EBRData['yCoat_USL']


#Create plot

my_dpi=96
plt.figure(figsize=(480/my_dpi, 480/my_dpi), dpi=my_dpi)

plt.plot(Rx, Ry, color='blue', marker='.', linewidth=1, alpha=0.4)
plt.plot(RLSLx, RLSLy, color='red', marker='.', linewidth=1, alpha=0.4)
plt.plot(RUSLx, RUSLy, color='red', marker='.', linewidth=1, alpha=0.4)


plt.title('EBR')
plt.show()

Tags: importalphaplotmatplotlibmyaspltmarker
1条回答
网友
1楼 · 发布于 2024-09-29 23:20:50

如果您想显示的是半径,我还建议您根据xy测量值计算R,并将其与目标限值一起放入绘图中。
可以通过从x/y值计算完整的极坐标来实现

phi = np.arctan2(df.yCoat, df.xCoat)
R = pd.DataFrame(np.sqrt(df.xCoat.values**2 + df.yCoat.values**2), columns=['R'], index=phi)

如果您更喜欢绘制标称角度值而不是实际测量的角度位置,您可以将φ也设置为例如

phi = np.linspace(-np.pi, np.pi, 360, endpoint=False)

但是,这可以简单地绘制为具有两条指示极限线的标准线图,如

R.plot()
plt.hlines(146, -np.pi, np.pi, 'k')
plt.hlines(150, -np.pi, np.pi, 'k')

enter image description here

或例如极坐标图

f = plt.figure()
ax = f.add_subplot(111, projection='polar')
ax.set_rlim(144, 152)
plt.plot(R, 'b.-')
ax.fill_between(np.linspace(-np.pi, np.pi, 360), 140, 146, color='gray')
ax.fill_between(np.linspace(-np.pi, np.pi, 360), 150, 160, color='gray')

enter image description here

要显示超出所需范围的样本,只需添加

plt.plot(R[R<146], 'r.')
plt.plot(R[R>150], 'r.')

要立即查看是否有问题:

enter image description here

相关问题 更多 >

    热门问题