画图脚本,自用
from matplotlib.pyplot import figure, savefig, show
pincongrocks = {
'2019.04': 0.7,
'2019.05': 1.5,
'2019.06': 2.2,
'2019.07': 3,
'2019.08': 6.30,
'2019.09': 4.07,
'2019.10': 5.86,
'2019.11': 7.26,
'2019.12': 8.23,
'2020.01': 8.85,
'2020.02': 13.8,
'2020.03': 10.8,
'2020.04': 11.88,
'2020.05': 10.8,
'2020.06': 8.05,
'2020.07': 7.75,
'2020.08': 7.75,
'2020.09': 6.35,
'2020.10': 6.13,
'2020.11': 4.10,
'2020.12': 4.30,
'2021.01': 4.30,
'2021.02': 3.43,
}
fig = figure(figsize=(16, 9))
ax = fig.add_subplot(111)
plot_options = {
'linewidth': 1,
'linestyle': '-.',
'color': 'royalblue',
'marker': '.',
}
label_option = {
'ha': 'center',
'va': 'bottom',
'font': 'Lucida Handwriting',
'fontsize': 10,
}
save_option = {
'bbox_inches': 'tight',
'dpi': fig.dpi,
'pad_inches': 0.0,
}
x_values = range(len(pincongrocks))
x_labels = [a[2:] for a in pincongrocks.keys()]
y_values = range(0, int(max(pincongrocks.values())) + 2)
y_labels = [str(a) for a in y_values]
ax.plot(x_values, pincongrocks.values(), **plot_options)
ax.bar(x_values, height=pincongrocks.values(), alpha=0.45)
[ax.text(x, y, y, **label_option) for x, y in enumerate(pincongrocks.values())]
ax.set_facecolor('whitesmoke')
ax.set_xticks(x_values)
ax.set_xticklabels(x_labels, rotation=30, fontsize=10, font='Lucida Handwriting')
ax.set_yticks(y_values)
ax.set_yticklabels(y_labels, fontsize=10, font='Lucida Handwriting')
ax.set_xlabel('2019.4-2021.2', font='Lucida Handwriting', fontsize=15)
ax.set_ylabel('million visits', font='Lucida Handwriting', fontsize=15)
ax.spines['left'].set_linewidth(1.2)
ax.spines['bottom'].set_linewidth(1.2)
ax.spines['left'].set_color('gray')
ax.spines['bottom'].set_color('gray')
ax.spines['top'].set_visible(False)
ax.spines['right'].set_visible(False)
ax.yaxis.grid(color='gray', linewidth=1, alpha=0.3)
savefig('pincong', transparent=False, **save_option)
show()