如何绘制微生物生长曲线?含3个重复样本的实验数据绘图方法
微生物生长曲线绘制方法(含实验数据示例)
实验数据示例
| 日期 | 重复1(CFU/mL) | 重复2(CFU/mL) | 重复3(CFU/mL) |
|---|---|---|---|
| 2024-05-01 | 1.2×10³ | 1.1×10³ | 1.3×10³ |
| 2024-05-02 | 5.6×10³ | 5.8×10³ | 5.4×10³ |
| 2024-05-03 | 2.1×10⁴ | 2.3×10⁴ | 2.0×10⁴ |
| 2024-05-04 | 8.9×10⁴ | 9.2×10⁴ | 8.7×10⁴ |
| 2024-05-05 | 1.5×10⁵ | 1.4×10⁵ | 1.6×10⁵ |
| 2024-05-06 | 1.5×10⁵ | 1.6×10⁵ | 1.4×10⁵ |
常用绘图方法
方法1:Excel快速绘制
适合不需要批量处理数据的场景,操作简单:
- 把数据粘贴到Excel,选中日期列右键→「设置单元格格式」→选择「日期」,确保计数列是数值格式。
- 选中所有数据(含表头),点击「插入」→「散点图」→「带平滑线和数据标记的散点图」。
- 优化图表:
- Y轴右键→「设置坐标轴格式」→勾选「对数刻度」,这是微生物生长曲线的标准操作,能清晰区分生长阶段。
- 点击「图表元素」→「误差线」→「标准误差」,自动添加重复样本的误差范围。
- 修改X轴标签为「培养日期」,Y轴标签为「细菌浓度(CFU/mL)」,调整标题和刻度大小。
方法2:Python(Matplotlib/Seaborn)绘制
适合需要自动化、批量处理或自定义图表的场景,代码示例如下:
import pandas as pd import matplotlib.pyplot as plt import seaborn as sns # 加载数据(替换成你自己的实际数据) data = pd.DataFrame({ '日期': pd.to_datetime(['2024-05-01', '2024-05-02', '2024-05-03', '2024-05-04', '2024-05-05', '2024-05-06']), '重复1': [1200, 5600, 21000, 89000, 150000, 150000], '重复2': [1100, 5800, 23000, 92000, 140000, 160000], '重复3': [1300, 5400, 20000, 87000, 160000, 140000] }) # 转换为长格式数据,方便seaborn处理多重复样本 data_long = data.melt(id_vars='日期', var_name='重复样本', value_name='细菌浓度') # 设置绘图风格 sns.set_style("whitegrid") plt.figure(figsize=(10, 6)) # 绘制带标准差误差线的曲线 sns.lineplot(data=data_long, x='日期', y='细菌浓度', hue='重复样本', marker='o', errorbar='sd') # 开启Y轴对数刻度 plt.yscale('log') # 设置标签和标题 plt.xlabel('培养日期', fontsize=12) plt.ylabel('细菌浓度(CFU/mL)', fontsize=12) plt.title('微生物生长曲线', fontsize=14) # 旋转X轴日期,避免重叠 plt.xticks(rotation=45) plt.tight_layout() plt.show()
代码关键点说明:
pd.to_datetime确保日期被正确识别为时间类型,避免X轴显示混乱。melt函数把宽格式数据转成长格式,让seaborn可以自动处理3个重复样本的曲线。errorbar='sd'自动计算每个时间点的标准差并绘制误差线,直观展示重复数据的离散程度。- 对数刻度能清晰展示微生物的延迟期、对数生长期和稳定期,是这类图表的常规设置。
内容的提问来源于stack exchange,提问作者se-tima
相关产品推荐
相关产品推荐

