python中的线图

2024-04-18 10:35:52 发布

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

关于我使用的一些细节:

    Jupyter Notebook (v. 5.4)
    matplotlib (v. 2.1.2)
    Python (v. 3.6.4)

具体的问题是:我正在尝试通过惟一ID(from ID column)为PKa数据(y轴)创建一个多行图,该图覆盖了标称的时间点(x轴)。在一个完美的世界里,图形上会有两条线(ID列中每个唯一的ID对应一条线),x轴将按标称时间点排序。你知道吗

以下是迄今为止我所掌握的代码:

import matplotlib.pyplot as plt
import pandas as pd 
%matplotlib inline

pkc = pd.read_excel("NAME OF FILE.xlsx", usecols = [1,2,3,4,7,8])
pkc['PKa Data']=pkc['PKa Data'].apply(pd.to_numeric, errors='coerce')
pkc['PKb Data']=pkc['PKb Data'].apply(pd.to_numeric, errors='coerce')
pkc

ID       Cohort  Day             Nominal_Timepoint   PKa_Data PKb_Data
101002   1       Cycle 1 Day 1   Pre-Dose            NaN      NaN
101002   1       Cycle 1 Day 1   30-Minutes          9.190    NaN
101002   1       Cycle 1 Day 1   1 hr                15.200   NaN
101002   1       Cycle 2 Day 1   Pre-Dose            52.400   0.666
101002   1       Cycle 2 Day 1   30-Minutes          30.200   0.582
101002   1       Cycle 2 Day 1   1 hr                76.900   0.869
202001   2       Cycle 1 Day 1   Pre-Dose            NaN      NaN
202001   2       Cycle 1 Day 1   30-Minutes          0.941    NaN
202001   2       Cycle 1 Day 1   1 hr                8.340    NaN
202001   2       Cycle 2 Day 1   Pre-Dose            112.000  1.750
202001   2       Cycle 2 Day 1   30-Minutes          103.000  1.730
202001   2       Cycle 2 Day 1   1 hr                97.400   1.570

plt.plot(pkc['Nominal_Timepoint'], pkc['PKa_Data'])

当前,图表如下所示:

Graph with unordered x axis。你知道吗

从图中可以看出,x轴的顺序不对,如果ID列中只有两个唯一的ID,那么图上应该只有两条线。我已经浏览了一堆在线matplotlib教程,但我似乎无法让它工作。任何其他帮助都将不胜感激。我之前有过这个问题,但它被搁置了(虽然我不知道为什么,但我确实修改了这个问题,试图更清楚一点)。贷记在贷记到期时plt.绘图上面的代码是由高雄提供的,这至少让我得到了上面所附的图片。你知道吗


Tags: iddatamatplotlibhrpltnanprepd
6条回答

你需要理清你的时间点。目前,您可以看到发生了什么:plot正在尝试在给定的“1小时”、“30分钟”和“给药前”范围内插入数据点,而不涉及任何周期或日期。你知道吗

使用timedata类型构造另一列,该列提供plot可以使用的数字同源类型。确保第一个值是周期1,给药前;然后是周期1,30分钟;依此类推。您需要六个具有相同值类型的不同值。将其用作x轴值。你知道吗

您当前的代码包含小时、分钟和文本,因此plot在阅读您的大脑时遇到问题。你知道吗

这足以让你动起来吗?你知道吗

相关问题 更多 >