mofujin

  一.安装:绘图和可视化

  pip install matplotlib 

  我们已经下好了anaconda 包含了绘图工具包 直接导入即可

  import matplotlib.pyplotlib as plt

  二.# 第一种图形 可视化绘图:折线图

# 上面由于是中文需要解决乱码的问题

b = [2,5,4,8,9,7,10]

plt.plot(b)
# 设置标题
plt.rcParams[\'font.sans-serif\'] = [\'SimHei\']
plt.rcParams[\'axes.unicode_minus\'] = False
plt.title(\'title经济发展趋势图\',fontsize=20,color=\'red\')

# 设置 x y 轴的名称
plt.xlabel(\'x轴\',fontsize=20)
plt.ylabel(\'y轴\',fontsize=20)

# 调节图表大小

plt.show()

 

  (2)第二种 绘制每个国家地区电影数量的柱状图

#(1)读取数据
mv = pd.read_csv(\'./aaa.csv\')
mv
# (2)每个地区有分区 进行分主 然后进行统计数量 size()
movies = mv.groupby(\'产地\').size().sort_values(ascending=False)
movies
# (3)获取x, y 轴的值
x = movies.index
x

# 获取 y轴的值
y = movies.values
y
(4)
#
绘制柱状图 bar # plt.bar(x,y,color=\'blue\') # plt.show()显示图型 # 调节图表大小 plt.figure(figsize=(20,6)) # 注意是画图之前 plt.bar(x,y,color=\'blue\') # 标题 plt.title(\'每个国家的或地区的电影数量\',fontsize=30,color=\'k\') # 没有位置固定 # x 轴的字体的的大小 和 旋转角度 plt.xticks(rotation=45,fontsize=15) # ticks 滴答点 参数 旋转 大小 # x 轴的设置 命名和大小 颜色 plt.xlabel(\'产地\',fontsize=20,color=\'red\') # y 轴的设置 plt.ylabel(\'电影数量\',fontsize=20,color=\'red\',rotation=90) # 显示柱状图上的数量 for a,b in zip(x,y,): plt.text(a,b+200,b,horizontalalignment=\'center\',fontsize=15,color=\'red\') # 保存图片 到指定的路径 plt.savefig(\'./电影柱状图.png\') plt.show()

  图形展示:(5)

  (2.1)# 2 根据数据绘制每年电影上映数量的曲线图

# (1) 按照年代将读取的mv 电影进行进行分组
res = mv.groupby([\'年代\']).size().sort_index()  # 这个可以进行排序
# mv[\'年代\'].value_counts().sort_values()  
res = res[:-2]  # 删除 最后两个数
res

  (2)#  设置x z轴的值 和 y 轴的值

x = res.index
x
# 设置y 轴
y = res.values
y

  (3)绘图

# 大小是在绘图前
plt.figure(figsize=(10,6))
plt.plot(x,y)
# x 轴的设置
plt.xlabel(\'年代\',fontsize=20,color=\'k\')
plt.ylabel(\'数量\',fontsize=20,color=\'b\')

# x 轴 字体的设置
plt.xticks(fontsize=20,color=\'r\')
plt.show()

 (4)图展示:最后的数据未完成统计

  

  # 第三 饼图的设计
  pd.cut?

  (1)

# 获取电影时长
time_res = mv[\'时长\']
time_res

  (2)

# 分等份
res = pd.cut(time_res,[0,60,90,120,140,1000])  # time_res 是带分割的源数据  后面是份额区间
res# 分等份
res = pd.cut(time_res,[0,60,90,120,140,1000])  # time_res 是带分割的源数据  后面是份额区间
res

  (3)

# 统计区间的电影数量
res = res.value_counts()
res
x = res.index
x
y = res.values
y

  (4)

# plt.pie(y,labels= x)
plt.title(\'电影时长分步图\',fontsize=20)
patchs, l_text, p_text = plt.pie(y, labels=x, autopct=\'%0.2f%%\',)  # patchs 打补丁
for p in p_text:  # p_text 代表内部的内容    %0.2f%%  0.2 表示保留两位浮点数  后面的% 是在区域内文本值后加%
    p.set_size(15)
    p.set_color(\'white\')
for l in l_text:
    l.set_size(13)
    l.set_color(\'r\')
    
plt.show()

  图形展示:

  # 4 直方图  

  (1)

x = mv[\'评分\']
x

 

  (2)

# plt.bar(x,y,color=\'blue\')
plt.hist(mv[\'评分\'],bins=20, edgecolor=\'black\',alpha=0.5, facecolor=\'red\')
plt.title(\'评分分布的直方图\')
plt.xlabel(\'评分范围\')
plt.ylabel(\'数量\')
# for a,b in zip(x,y):
#     plt.text(a,b+200,b,horizontalalignment=\'center\',fontsize=15,color=\'red\')
    
plt.show()

 评分图不是想做成的样子

分类:

技术点:

相关文章:

  • 2022-01-02
  • 2021-10-04
  • 2021-11-08
  • 2021-11-13
  • 2021-08-13
  • 2021-12-23
  • 2021-10-14
  • 2021-12-28
猜你喜欢
  • 2021-11-08
  • 2021-06-18
  • 2021-11-08
  • 2021-11-08
  • 2021-11-07
  • 2021-11-07
  • 2021-11-07
相关资源
相似解决方案