Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matplotlib Python中Counter()数据框对象的多个标签?_Python_Python 2.7_Pandas_Matplotlib - Fatal编程技术网

Matplotlib Python中Counter()数据框对象的多个标签?

Matplotlib Python中Counter()数据框对象的多个标签?,python,python-2.7,pandas,matplotlib,Python,Python 2.7,Pandas,Matplotlib,我正在做一个关于ICU数据集的项目,我想制作生存和感染的双柱状图。我做了,它的工作很好,因为我在这里,除了现在我想给它一个传奇或标签是不接受的,只是想知道有没有任何方法,我可以添加一个传奇和重命名我的传奇? 我要红色的显示存活,蓝色的显示感染 matplotlib.pyplot as plt import numpy as np import sys import csv import pandas as pd import itertools from collections import C

我正在做一个关于ICU数据集的项目,我想制作生存和感染的双柱状图。我做了,它的工作很好,因为我在这里,除了现在我想给它一个传奇或标签是不接受的,只是想知道有没有任何方法,我可以添加一个传奇和重命名我的传奇? 我要红色的显示存活,蓝色的显示感染

matplotlib.pyplot as plt
import numpy as np
import sys
import csv
import pandas as pd
import itertools
from collections import Counter
import pylab as pl
from matplotlib.dates import date2num
import datetime

with open('ICU.csv') as ICU:
#reads csv
df = pd.read_csv(ICU)
#arrays to hold csv data after parsed to int
Survive = []
Infection = []
# parse data column survive to int
for n in df.Survive:
  n =  int(n)
# adding the converted INT value to the Survive array
  Survive.append(n)
# parse data column Infection to int
for n in df.Infection:
 n =  int(n)

# adding the converted INT value to the Infection array
 Infection.append(n)
S = pd.DataFrame.from_dict(Counter(Survive), orient='index')
I = pd.DataFrame.from_dict(Counter(Infection), orient='index')
width = 0.4
fig = plt.figure() # Create matplotlib figure
ax = fig.add_subplot(111) # Create matplotlib axes
S.plot(kind='bar', color='red', ax=ax, width=width, position=1)
I.plot(kind='bar', color='blue', ax=ax, width=width, position=0, 
secondary_y=True)
plt.show()
种子

您可以使用

plt.legend(labels=("survive", "infection"))

谢谢你的回答。我已经试过了,但不起作用。只是把标签贴在彼此的上面,没有任何其他的改变。也许我当时不太了解你的问题。这也是由于您没有提供一个。但你至少应该试着更好地描述你想要什么,你得到了什么,以及在多大程度上没有达到你的期望。