【问题标题】:plotting pie chart from csv data?从csv数据绘制饼图?
【发布时间】:2018-07-28 12:23:56
【问题描述】:

对于汽车性能数据,例如:

 Model  Running  Rest  
 1      10       14   
 1      11       13  
 1      12       12  
 2       9       15  
 2      10       14

如何在此处绘制 RunningRest 的每个值,以及由于 Model 不一样的第一三行的情况?

import pandas as pd
import matplotlib.pyplot as plt  

df = pd.read_csv('performance.csv')

df.pie(x='Running', y='Rest', autopct='%1.1f%%', shadow=True, startangle=140))

在 stackoverflow 上看到几个答案后,我继续:

import csv as csv
import matplotlib.pyplot as plt

colors = ['r', 'g']

with open('performance.csv') as csvfile:
readCSV = csv.reader(csvfile, delimiter=',')

i = 0

for row in readCSV:
    if i == 0:
        activities = [row[1], row[2]]
        title = row[0]
    else:
        slices = [row[1], row[2]]
        plt.title("Model: " + row[0])  
        plt.pie(slices, labels=activities, colors=colors, startangle=90, autopct='%.1f%%')
        plt.show()

    i += 1

此代码将RunningRest 的每一行值作为饼图提供给我。

但是如何获取第一三行的饼图,其中Model 列值相同?

【问题讨论】:

  • 用两个变量绘制饼图是否有意义?如果您想查看两个变量之间的相关性,为什么不使用散点图呢?
  • 要求饼图了解 Running 和 Rest 值的百分比。 @cdaiga
  • 好的,我现在看到@suryaRahul

标签: python pandas pie-chart


【解决方案1】:

使用您原来的df,您可以执行以下操作:

In []:
df[['Running', 'Rest']].groupby(df.Model).plot.pie(subplots=True, autopct='%.1f%%')

Out[]:

【讨论】:

  • 你好 @AChampion 可以为 pandas 中的每一行在 RunningRest 之间进行逐行可视化吗?
猜你喜欢
  • 1970-01-01
  • 2016-06-18
  • 2014-05-12
  • 2020-10-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-28
相关资源
最近更新 更多