【问题标题】:How to give different titles to matplotlib plots when parsing from csv?从csv解析时如何为matplotlib图赋予不同的标题?
【发布时间】:2021-07-11 01:39:45
【问题描述】:

我编写了下面的 python 代码来读取 CSV 并一次生成多个图。但是,我不知道如何从我正在阅读的 csv 中为 matplotlib 提供 Location 值,因为我希望每个图都标有我正在聚合的位置值。请看下面的代码和截图。

import pandas as pd
import datetime
import csv
import matplotlib.pyplot as plt
from google.colab import files
import matplotlib.pyplot as plt
import numpy as np

myfile = files.upload()
df = pd.read_csv('Electricity.csv')
df2 = df.groupby(['Location'], as_index=False)
print(df2)
df2.plot(x='Period', y = 'score', ylim=(0,11))#IDK about ylim being necessary 
plt.title('Location', color='black')
plt._show()

Plots

【问题讨论】:

    标签: python pandas numpy csv matplotlib


    【解决方案1】:

    获取由df2.plot 返回的轴,并且由于您是按Location 分组的,因此您将获得类似于:

       Location                                 NaN
    0 Location1  AxesSubplot(0.125,0.11;0.775x0.77)
    1 Location2  AxesSubplot(0.125,0.11;0.775x0.77)
    2 Location3  AxesSubplot(0.125,0.11;0.775x0.77)
    

    使用apply 函数和axis=1 获取当前轴位置。对于轴对象,使用set_title,对每个绘图使用Location

    ...
    df2.apply(print)
    ax = df2.plot(x='Period', y='score', ylim=(0, 11))
    
    ax.apply(lambda x: x[1].set_title(x['Location']), axis=1)
    
    plt.show()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-17
      相关资源
      最近更新 更多