matplotlib: 绘制柱状图
创始人
2024-05-29 17:34:00

通过matplotlib绘制柱形图

第一个例子

from matplotlib import pyplot as plty = [10, 11, 12, 11, 9, 8, 13, 10]  # 创建y轴坐标
x = list(range(1,9)) # 创建x轴坐标# 创建x轴显示的参数(此功能在与在图像中x轴仅显示能被10整除的刻度,避免刻度过多分不清楚)
# x_tick = list(map(lambda num: "" if num % 10 != 0 else num, x))# plt.figure(figsize=(200, 100), dpi=10)
plt.figure(figsize=(10, 5)) # 创建一个画布plt.xlabel('This is x label', size=15) # 设置x轴的label
plt.ylabel('This is y label', size=15) # 设置y轴的labelfor a,b in zip(x, y):plt.text(a, b+0.2, b, ha='center', va='bottom', fontsize=15)  # 给每个柱形图上加上数字
plt.bar(x, y, alpha=0.7, width=0.6, lw=2, label='This is label')  # 绘制条形图plt.xticks(x, x, size=15)  # 显示x轴刻度
plt.yticks(size=15)        # 显示y轴刻度plt.title('This is bar caption', fontsize=15)#标题,并设定字号大小
plt.legend(loc=2)#图例展示位置,数字代表第几象限
plt.grid() # 打开网格线# 获取当前图像句柄
fig = plt.gcf()
plt.show()  #  显示图像
fig.savefig('a.png')  # 存储图像
plt.show()

柱状图如下

  • 设置画布大小: plt.figure(figsize=(10, 5))
  • 设置x轴label: plt.xlabel(“label name”, size=10),其中size是label的大小
  • 设置y轴label: plt.ylabel(“label name”, size=10),其中size是label的大小
  • 在柱状图上加上数值: plt.text(x=a, y=b, s=b, ha=‘center’, va= ‘bottom’, fontsize=7),其中xy是要标注的位置,通常y=b+0.1等,s是标注的值,ha表示水平居中,va是垂直对齐,fontsize是字体大小
  • 覆盖x轴坐标: plt.xticks(ticks, labels, size=10),覆盖x轴坐标,ticks是要覆盖的位置,labels是覆盖后的值,ticks和labels长度要相等
  • 覆盖y轴坐标: plt.xticks(ticks, labels, size=10),覆盖y轴坐标,ticks是要覆盖的位置,labels是覆盖后的值,ticks和labels长度要相等
  • 柱状图的标题: plt.title(“caption”, fontsize=10)
  • 图例相关: plt.legend(loc=2, fontsize=10),loc图例展示位置,1234分别代表右上,左上,左下,右下,还有5678等等,fontsize图例的大小
  • 网格线: plt.grid()打开网格线
  • 绘制柱状图: plt.bar(x=x, height=y, width=0.8, alpha=1, facecolor, edgecolor, lw, label=“label”),x是横坐标的值,height是纵坐标的值(高度),width单个柱子的宽度,alpha柱子的透明度,facecolor柱子的颜色,edgecolor柱子的边缘颜色,lw柱子边缘线的宽度,label柱状图的图例名字

其余的用到再补充

相关内容

热门资讯

防震演练进校园 筑牢安全“防护... (来源:廊坊日报)转自:廊坊日报 本报讯(记者 曹明明)近日,霸州市煎茶铺镇第一小学组织开展...
港股科技ETF国泰(51302... 4月8日,国泰中证港股通科技ETF(513020)收盘涨4.71%,成交额3.15亿元。港股科技ET...
信息安全ETF嘉实(15961... 4月8日,嘉实中证信息安全主题ETF(159613)收盘涨6.72%,成交额450.41万元。信息安...
港股互联网ETF华宝(5137... 4月8日,华宝中证港股通互联网ETF(513770)收盘涨6.30%,成交额10.05亿元。港股互联...
寒武纪股价连续3天上涨累计涨幅... 4月8日,寒武纪涨4.02%,截至发稿,报1164.00元/股,成交121.36亿元,换手率2.51...