【发布时间】:2020-12-21 17:43:38
【问题描述】:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
#reading data
data = pd.read_csv('Malicious_or_criminal_attacks_breakdown-Top_five_industry_sectors_July-Dec-2019.csv',index_col=0,engine='python')
df = pd.DataFrame(data)
#df list for data
df.values.tolist()
#construction of group bar chart
labels = ('Cyber incident', 'Theft of paperwork or data storagedevice', 'Rogue employee', 'Social engineering / impersonation')
colors = ['red', 'yellow', 'blue', 'green']
data = df.values.tolist()
arr = np.array(data)
n_groups, n_colors = arr.shape
width = 0.2
x_pos = np.arange(n_colors)
fig, ax = plt.subplots(nrows=1, ncols=2, figsize=(14, 5), dpi=100)
for i in range(n_groups):
plt.bar(x_pos + i*width, arr[i, :], width, align='center', label=labels[i], color=colors[i])
ax.set_xlabel("the top five industry sectors")
ax.set_ylabel("Number of attack")
ax.set_title("Type of attack by top five industry sectors")
ax.set_xticks(x_pos+width/2)
ax.set_xticklabels(colors)
ax.legend()
谁能告诉我我在这里做错了什么以及为什么 numpy 没有按预期工作。我看了几个小时的文档,无法弄清楚什么是错的
【问题讨论】:
-
ax是子图的ndarray。
标签: python-3.x numpy matplotlib