【发布时间】:2020-03-27 21:38:46
【问题描述】:
我已经使用 squarify 创建了一个树形图,现在我尝试创建一个图例以在图表旁边的树形图中显示数据。
内置的图例函数没有生成我想要的图例(它当前正在显示我的数据框的第一列和每行的索引)所以我一直在尝试使用它但没有成功。我希望传说是:
SKU 数量(单位)
一个1
b 2
c 3
d 4
e 5
f 6
g 7
小时 20
import matplotlib as mpl
import squarify
import matplotlib.cm
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
#create figure
fig = plt.gcf()
fig.set_size_inches(16, 5)
#set data values
data = [['a',1],['b',2],['c',3],['d',4],['e',5],['f',6],['g',7],['h',20]]
data_slice = pd.DataFrame(data, columns=['Atom SKU Code','Total Volume'])
print(data_slice)
#create color set
norm = mpl.colors.Normalize(vmin=min(data_slice['Total Volume']), vmax=max(data_slice['Total Volume']))
colors = [mpl.cm.BuGn(norm(value)) for value in data_slice['Total Volume']]
#plot figure
ax1 = squarify.plot(label=data_slice['Atom SKU Code'], sizes=data_slice['Total Volume'], color=colors, alpha=.6)
plt.title("Volume by SKU (Units Sold)", fontsize=23, fontweight="bold")
plt.axis('off')
plt.legend(title='SKU Volume in Units', loc='center left',bbox_to_anchor=(1, 0.5),frameon=False)
plt.tight_layout()
plt.show()
【问题讨论】:
标签: python pandas matplotlib data-visualization seaborn