我的数据框有以下列,它显示了为不同样本测量的压力和相应的体积,例如s_1p
:sample-1 的压力和s1_nv
:相同样本的相应体积。我想在同一图(不是子图)的 x 轴上显示所有体积列,在 y 轴上显示压力,并将图例标记为样本编号。
df=
s1_p s1_nv s9_p s9_nv s21_p s21_nv s26_p s26_nv s32_p s32_nv s37_p s37_nv s49_p s49_nv s52_p s52_nv s105_p s105_nv s118_p s118_nv
0 0.977966 0.000544 0.928902 0.000000 1.140129 0.000000 1.002083 0.000000 0.958008 0.000000 1.301460 0.000000 0.964661 0.000000 0.976303 0.001193 1.002914 0.000246 1.008736 0.000129
1 1.022041 0.001087 0.953850 0.000000 1.175056 0.000153 1.079422 0.000208 0.980461 0.001955 1.328903 0.000000 0.986282 0.000000 1.004578 0.003279 1.034515 0.000246 1.038673 0.000385
2 1.050316 0.001268 0.984619 0.000000 1.204163 0.000153 1.140961 0.000208 1.012062 0.002557 1.357178 0.000000 1.015388 0.000125 1.031189 0.004621 1.056137 0.000246 1.061127 0.000513
3 1.082748 0.001268 1.010399 0.000261 1.224953 0.000153 1.249901 0.000208 1.029526 0.002557 1.382958 0.000191 1.033684 0.000125 1.062790 0.004770 1.085243 0.000493 1.094391 0.000513
4 1.109360 0.001268 1.031189 0.000261 1.247406 0.000153 1.314766 0.000208 1.075264 0.003159 1.407074 0.000381 1.066948 0.000125 1.097717 0.004770 1.136803 0.000493 1.130981 0.000513
5 1.127655 0.001268 1.056969 0.000261 1.277344 0.000306 1.459465 0.000417 1.130150 0.003460 1.446159 0.000381 1.113518 0.000250 1.138466 0.004919 1.160919 0.000739 1.149277 0.000641
6 1.160087 0.001268 1.086075 0.000261 1.302292 0.000459 1.629112 0.000624 1.150108 0.003610 1.472771 0.000381 1.140129 0.000250 1.160088 0.005068 1.225784 0.000739 1.177551 0.000898
7 1.209152 0.001268 1.117676 0.000392 1.328072 0.000459 1.658218 0.000624 1.171730 0.003911 1.514351 0.000571 1.209984 0.000250 1.212479 0.005217 1.293144 0.000739 1.247406 0.000898
8 1.259048 0.001268 1.151772 0.000392 1.370483 0.000612 1.748863 0.000624 1.249069 0.005114 1.555100 0.000571 1.278175 0.000250 1.270691 0.005217 1.372978 0.000739 1.310608 0.000898
9 1.283165 0.001268 1.180878 0.000392 1.399590 0.000612 1.920174 0.000624 1.290649 0.005415 1.575890 0.000571 1.297302 0.000375 1.379631 0.005217 1.420380 0.000986 1.334724 0.000898
10 1.362167 0.001268 1.227448 0.000392 1.426201 0.000612 2.064041 0.000833 1.333893 0.005716 1.602501 0.000761 1.351357 0.000500 1.466949 0.005217 1.592522 0.001232 1.507698 0.001283
11 1.446991 0.001449 1.278175 0.000392 1.475266 0.000612 2.252815 0.000833 1.434517 0.006919 1.635765 0.000761 1.385452 0.000500 1.636597 0.005664 1.757179 0.001232 1.666534 0.001796
12 1.473602 0.001630 1.297302 0.000522 1.541794 0.000765 2.432442 0.000833 1.603333 0.010077 1.698967 0.000761 1.518509 0.000625 1.802917 0.005664 1.778801 0.001726 1.698967 0.001796
13 1.667366 0.001630 1.316429 0.000522 1.639923 0.000765 2.614563 0.000833 1.626617 0.010077 1.790444 0.000761 1.693977 0.000750 1.840340 0.005664 1.800423 0.002218 1.870277 0.002181
14 1.837845 0.001630 1.344704 0.000652 1.712273 0.000919 2.812485 0.000833 1.809570 0.010679 1.828697 0.000761 1.715599 0.000750 1.972565 0.006111 1.988365 0.002958 2.044083 0.002181
15 2.042419 0.001630 1.412063 0.000783 1.861130 0.000919 2.984627 0.000833 1.831192 0.010679 1.856972 0.000761 1.876098 0.000750 2.142212 0.006410 2.167160 0.002958 2.083168 0.002438
16 2.222878 0.001630 1.476929 0.000783 2.029114 0.001531 3.014565 0.001041 2.003334 0.011732 1.964249 0.000951 2.058220 0.001000 2.173813 0.006410 2.209572 0.003204 2.250320 0.002566
17 2.256142 0.001630 1.497719 0.000913 2.052398 0.001531 3.169243 0.001041 2.026619 0.011882 2.134727 0.000951 2.265290 0.001125 2.325165 0.006708 2.385040 0.003451 2.417473 0.002695
18 2.422463 0.001630 1.672356 0.001305 2.163834 0.001531 3.354691 0.001041 2.198761 0.013687 2.299385 0.001142 2.439095 0.001125 2.495644 0.007005 2.556351 0.003697 2.449905 0.002695
当我使用以下代码时,它可以完成工作。
S1_P=df['s1_p']
S1_V=df['s1_nv'] #(similarly for other samples)
plt.plot(S1_P, S1_V, color='r', label='S1')
plt.plot(S9_P, S9_V, color='g', label='S9')
plt.plot(S21_P, S21_V, color='g', label='S21')
但问题是我必须将所有单独的列称为一个系列,然后一次又一次地调用情节。
df.plot(x=["s1_p", 's9_p', 's21_p'] y=["s1_v", 's9_v', 's21_v']) showed error.
我想自动化这个过程,这样我就不必为绘图调用每个单独的列。
使用 seaborn 或 matplotlib 在单个图中绘制数据的任何建议