向直方图添加键/图例

2024-04-26 00:34:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我无法添加一个图例到我的直方图,创建使用matplotlib.pyplot. 谢谢你的帮助/建议。在

下面的数据集是垃圾数据,但这是一个准确的例子,两个数据集都在同一个数据帧中,由列上的筛选器分隔开。在

import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import math
import pyodbc
import re


data = [{ 'uid':1,'Region':'nebraska', 'metric1':24},
        { 'uid':2,'Region':'nebraska', 'metric1':12},
        { 'uid':3,'Region':'nebraska', 'metric1':23},
        { 'uid':4,'Region':'nebraska', 'metric1':12},
        { 'uid':1,'Region':'nebraska', 'metric1':24},
        { 'uid':2,'Region':'nebraska', 'metric1':12},
        { 'uid':3,'Region':'nebraska', 'metric1':23},
        { 'uid':4,'Region':'nebraska', 'metric1':12},
        { 'uid':1,'Region':'nebraska', 'metric1':24},
        { 'uid':2,'Region':'nebraska', 'metric1':12},
        { 'uid':3,'Region':'nebraska', 'metric1':23},
        { 'uid':4,'Region':'nebraska', 'metric1':12},
        { 'uid':1,'Region':'nebraska', 'metric1':24},
        { 'uid':2,'Region':'nebraska', 'metric1':12},
        { 'uid':3,'Region':'nebraska', 'metric1':23},
        { 'uid':4,'Region':'nebraska', 'metric1':12},
        { 'uid':29,'Region':'colorado', 'metric1':14},
        { 'uid':30,'Region':'colorado', 'metric1':45},
        { 'uid':30,'Region':'colorado', 'metric1':45},
        { 'uid':30,'Region':'colorado', 'metric1':45},
        { 'uid':31,'Region':'colorado', 'metric1':65},
        { 'uid':32,'Region':'colorado', 'metric1':50}
        ]

testdataset = pd.DataFrame(data)

b = np.arange(0,100, 50)


plt.hist(testDataset[testDataset['Region'] == 'nebraska']['metric1'], b,color = 'red')   
plt.xticks(rotation=90)
plt.xticks(np.arange(0, 100, 10))
plt.yticks(np.arange(0, 100, 10))
plt.grid(zorder=0)


plt.hist(testDataset[testDataset['Region'] == 'colorado']['metric1'], b,color = 'blue')   

plt.show()

Tags: 数据importuidmatplotlibasnppltregion
2条回答

我相信你只是在找plt.legend()

例如:

plt.legend(['Red', 'Blue'])

只需将label参数添加到hist调用中:

plt.hist(testDataset[testDataset['Region'] == 'nebraska']['metric1'], b,
         color = 'red', label='Nebraska')
plt.hist(testDataset[testDataset['Region'] == 'colorado']['metric1'], b,
         color = 'blue', label='Colorado')   

并在plt.show()之前调用plt.legend()。在

相关问题 更多 >