matplotlib 绘制条形图

举例2017年电影票房

from matplotlib import pyplot as plt
from matplotlib import font_manager

my_font = font_manager.FontProperties(fname="C:\Windows\Fonts\SimSun.ttc")

x = ["战狼2", "速度与激情8", "功夫瑜伽", "西游伏妖篇",
     "变形金刚5:最后的骑士", "摔跤吧!爸爸", "加勒比海盗5:死无对证",
     "金刚:骷髅岛", "极限特工:终极回归", "生化危机6:终章",
     "乘风破浪", "神偷奶爸3", "智取威虎山", "大闹天竺", "金刚狼3:殊死一战",
     "蜘蛛侠:英雄归来", "悟空传", "银河护卫队2", "情圣", "新木乃伊", ]

y = [56.01, 26.94, 17.53, 16.49, 15.45, 12.96, 11.8, 11.61,
     11.28, 11.12, 10.49, 10.3, 8.75, 7.55, 7.32, 6.99, 6.88,
     6.86, 6.58, 6.23]

# 设置图形大小
plt.figure(figsize=(20,10),dpi=80)

# 绘制条形图
plt.bar(range(len(x)),y,width=0.3)
# 注释:参数width代表条形图宽度

# 设置x轴的刻度
plt.xticks(range(len(x)),x,fontproperties=my_font,rotation=90)

# 保存
# plt.savefig("./条形图")

# 展示
plt.show()

绘制结果如下:
matplotlib 绘制条形图_第1张图片
以上是正常情况下的条形图,因为需要图形更加直观优美需要做些改变

如下:

from matplotlib import pyplot as plt
from matplotlib import font_manager

my_font = font_manager.FontProperties(fname="C:\Windows\Fonts\SimSun.ttc")

a = ["战狼2", "速度与激情8", "功夫瑜伽", "西游伏妖篇",
     "变形金刚5:最后的骑士", "摔跤吧!爸爸", "加勒比海盗5:死无对证",
     "金刚:骷髅岛", "极限特工:终极回归", "生化危机6:终章",
     "乘风破浪", "神偷奶爸3", "智取威虎山", "大闹天竺", "金刚狼3:殊死一战",
     "蜘蛛侠:英雄归来", "悟空传", "银河护卫队2", "情圣", "新木乃伊", ]

b = [56.01, 26.94, 17.53, 16.49, 15.45, 12.96, 11.8, 11.61,
     11.28, 11.12, 10.49, 10.3, 8.75, 7.55, 7.32, 6.99, 6.88,
     6.86, 6.58, 6.23]

# 设置图形大小
plt.figure(figsize=(20,10),dpi=80)
# 注释:参数figsize图形长宽,参数dpi是清晰度。

# 绘制条形图
plt.barh(range(len(a)),b,height=0.3,color="pink")
# 注释:注意此处,由于是横着的条形图,所以这里台哦星图的宽度用另外一个参数height表示
#      而其实第二个参数b就是正常情况下的width

# 设置x轴的刻度
plt.yticks(range(len(a)),fontproperties=my_font,rotation=0)
# 注释:由于是横着的条形图,所以参数rotation=0,不需要旋转,亦或者直接省略该参数。
#      另外,注意这里设置的是y轴的刻度。

# 设置网格
plt.grid(alpha=0.3)
# 注释:参数alpha代表透明度

# 保存
# plt.savefig("./条形图")

# 展示
plt.show()

绘制结果如下:
matplotlib 绘制条形图_第2张图片

你可能感兴趣的:(python,数据分析)