python - 如何正确使用for循环从python中的csv绘制多行?

标签 python for-loop matplotlib plot

我正在学习 Python(基本问题即将到来),我有很多来自一些分析的数据,作为 CSV 文件,如下所示:

Example data table

我正在尝试重新创建下面的图(目前我在 Excel 中做这样的事情,随着数据量的出现和可视化的复杂性,我想让事情变得更有效率。

Plot I am trying to recreate

我尝试使用 For 循环的概念为该列中的每个不同的“SectionName”绘制一条线,但显然我遗漏了一些东西。

#read CSV
df=pd.read_csv('/Users/F/Documents/Data/LinesLoopTest.csv')

#Make Variables from dataframe columns
Value = df['Value']
Position = df['Xposition']
Section = df['SectionName']

#Setup Figure
fig = plt.figure(figsize=(6,3))
ax1 = fig.add_subplot(1,1,1)
ax1.set_title('Sections')
ax1.set_xlabel("XPosition")
ax1.set_ylabel("Value")

#plot lines by SectionName
for name in ['A', 'B', 'C']:
    plt.plot(Position, Value)

plt.show()

我意识到这是一个简单的问题,到目前为止我还没有找到一个解释,我可以真正理解这个过程,以至于我可以重新创建它,然后在它的基础上进行构建。

最佳答案

您可以使用 groupbySectionName然后绘制组

fig, ax = plt.subplots()

for section, group in df.groupby('SectionName'):
    group.plot(x='Xposition', y='Value', ax=ax, label=section)

enter image description here

关于python - 如何正确使用for循环从python中的csv绘制多行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61158214/

相关文章:

python - 让文本显示在子图图像前面

python - 根据 Python 中的模式将单个列表分成多个列表的最佳方法是什么?

python - Tornado - 通过 websockets 同时收听多个客户端

c - for循环问题

for-loop - 在for循环中设置变量(使用临时变量)Lua

python - 在 plt.contourf 中使用非线性级别时保持颜色图的线性颜色

python - 模块 pytz 已经导入

python - 从数据框中获取索引作为日期时间对象

Python 博客 RSS 提要将 BeautifulSoup 输出抓取到 .txt 文件

python - Seaborn 和 Stripplot 的误差线