我无法向使用 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()
Run Code Online (Sandbox Code Playgroud)
只需在您的调用中添加一个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')
Run Code Online (Sandbox Code Playgroud)
plt.legend()并在之前打电话plt.show()。
| 归档时间: |
|
| 查看次数: |
17066 次 |
| 最近记录: |