📜  python 绘制字典 - Python (1)

📅  最后修改于: 2023-12-03 15:04:18.147000             🧑  作者: Mango

Python绘制字典

在Python中,我们可以通过字典结构来存储数据,并很容易地进行读取和操作。通过Python的绘图库,我们还可以将字典中的数据可视化,更直观地观察和分析数据。

1. 使用Matplotlib绘制字典数据

Matplotlib是Python中最常用的绘图库之一,它提供了丰富的绘图功能和易于使用的API接口。

1.1 绘制简单的字典数据

首先,我们需要导入Matplotlib库和Numpy库,并构造一个字典数据:

import matplotlib.pyplot as plt
import numpy as np

data = {'apple': 10, 'orange': 20, 'banana': 15, 'peach': 5}

我们可以通过plt库中的bar函数来绘制柱状图:

plt.bar(data.keys(), data.values())
plt.show()

运行结果如下:

image-20210615095124362

我们也可以通过设置柱状图的颜色、边框和标签等来美化图表,代码如下:

plt.bar(data.keys(), data.values(), color=['red', 'orange', 'yellow', 'pink'], edgecolor='black')
plt.xticks(rotation=45)
plt.xlabel('Fruit')
plt.ylabel('Quantity')
plt.title('Fruit Quantity')
plt.show()

运行结果如下:

image-20210615120350728

1.2 绘制更复杂的字典数据

如果我们需要绘制更多维度的数据,我们可以通过Numpy库中的random函数随机生成数据:

data = {'apple': np.random.randint(1, 20, 10),
        'orange': np.random.randint(1, 20, 10),
        'banana': np.random.randint(1, 20, 10),
        'peach': np.random.randint(1, 20, 10)}

我们可以通过绘制堆积柱状图来同时显示多组数据:

plt.bar(data.keys(), data['apple'], label='apple')
plt.bar(data.keys(), data['orange'], bottom=data['apple'], label='orange')
plt.bar(data.keys(), data['banana'], bottom=data['apple']+data['orange'], label='banana')
plt.bar(data.keys(), data['peach'], bottom=data['apple']+data['orange']+data['banana'], label='peach')
plt.xticks(rotation=45)
plt.xlabel('Fruit')
plt.ylabel('Quantity')
plt.title('Fruit Quantity by Month')
plt.legend()
plt.show()

运行结果如下:

image-20210615120721359

2. 使用Seaborn绘制字典数据

Seaborn是一个基于Matplotlib的更高级别的Python数据可视化库,它提供了更丰富、更美观的绘图样式。

2.1 绘制简单的字典数据

首先,我们需要导入Seaborn库,并构造一个字典数据:

import seaborn as sns

data = {'apple': 10, 'orange': 20, 'banana': 15, 'peach': 5}

我们可以通过sns库中的barplot函数来绘制柱状图:

sns.barplot(list(data.keys()), list(data.values()))
plt.xlabel('Fruit')
plt.ylabel('Quantity')
plt.title('Fruit Quantity')
plt.show()

运行结果如下:

image-20210615120958483

2.2 绘制更复杂的字典数据

如果我们需要绘制更多维度的数据,我们可以通过Pandas库中的DataFrame函数来创建数据表,并利用Seaborn库中的catplot函数来绘制多维度柱状图:

import pandas as pd

df = pd.DataFrame({'Month': ['January', 'February', 'March', 'April', 'May', 'June'],
                   'apple': np.random.randint(1, 20, 6),
                   'orange': np.random.randint(1, 20, 6),
                   'banana': np.random.randint(1, 20, 6),
                   'peach': np.random.randint(1, 20, 6)})
df_m = pd.melt(df, id_vars=['Month'], value_vars=['apple', 'orange', 'banana', 'peach'])
sns.catplot(x='Month', y='value', hue='variable', data=df_m, kind='bar')
plt.xlabel('Month')
plt.ylabel('Quantity')
plt.title('Fruit Quantity by Month')
plt.show()

运行结果如下:

image-20210615121952918

综上,我们可以通过Python的绘图库和数据库,将字典中的数据可视化,更直观地观察和分析数据。