文章目录
- matplotlib
matplotlib
import matplotlib.pyplot as pltprint(plt.matplotlib_fname()) # 将会获得 matplotlib 的安装路径import random
# %matplotlib inline
plt.figure(figsize=(20,8),dpi=80)#1.图形尺寸 2.清晰度
plt.plot([1,2,3,4,5,6,7],[17,15,16,18,12,11,13])#三个点:(1,4).(0,5).(9,6).plt.savefig("shujutupian1.png")
plt.show()
'''
matplotlib的三层结构
1:容器层1.画板层Canvas2.画布层Figure---可以有多个绘图区/坐标系 axes:plt.subplots()2:辅助显示层
3:图像层'''
import random
import matplotlib.pyplot as plt
# plt.figure(figsize=(20,8),dpi=80)
figure,axes=plt.subplots(nrows=1,ncols=2,figsize=(20,8),dpi=80)# import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号x=range(60)
y_shanghai=[random.uniform(15,18) for i in x]
# 添加北京天气
y_beijing=[random.uniform(1,3) for i in x]
#添加显示网格axes[0].plot(x,y_shanghai,color="r",linestyle="--",label="sahnghai")
axes[1].plot(x,y_beijing,color="g",linestyle="-",label="beijing")
# plt.legend(loc="upper left")
axes[0].legend()
axes[1].legend()
'''
设置图形风格
颜色字符:r 红色g 绿色b 蓝色w 白色c 青色 m 洋红y 黄色k 黑色
线条:- 实线-- 虚线-. 点画线: 点虚线‘’ 留空 空格# 介绍各个折线所代表的含义放在哪个位置:plt.legend(loc="upper left")
upper rightupper leftlower leftlower rightrightcenter leftcenter rightlower centerupper centercenter
'''# 修改x/y刻度
x_lable=["11h{}min".format(i)for i in x]
# plt.xticks(x[::5],x_lable[::5])
# plt.yticks(range(0,40,5))#y刻度在0~40,每隔5
axes[0].set_xticks(x[::5],x_lable[::5])
axes[0].set_yticks(range(0,40,5))
axes[1].set_xticks(x[::5],x_lable[::5])
axes[1].set_yticks(range(0,40,5))
# 添加显示网格
# plt.grid(linestyle="--",alpha=0.5)
axes[0].grid(linestyle="--",alpha=0.5)
axes[1].grid(linestyle="--",alpha=0.5)# 添加描述信息
# plt.xlabel("时间变化")
# plt.ylabel("温度")
# plt.title("城市温度变化")
axes[0].set_xlabel("时间变化")
axes[0].set_ylabel("温度")
axes[0].set_title("城市温度变化")
axes[1].set_xlabel("时间变化")
axes[1].set_ylabel("温度")
axes[1].set_title("城市温度变化")plt.savefig("shujutupian4.png")
# 函数图
import numpy as np
x=np.linspace(-1,1,1000)
y=2*x*x
plt.figure(figsize=(20,8),dpi=80)
plt.plot(x,y)
plt.grid(linestyle="--")
plt.savefig("shujutupian3.png")
# 散点图绘制
x=[1,2,3,4,5,6,7,8,9]
y=[8,3,5,3,1,9,6,1,5]
plt.figure(figsize=(20,8),dpi=80)
plt.scatter(x,y)
plt.savefig("shujutupian2.png")plt.show()
import matplotlib
print(matplotlib.matplotlib_fname()) # 将会获得 matplotlib 的安装路径
# 柱状图
# 1.准备数据
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
movie_names=['雷神3-诸神昏暗','阿凡达','寻梦环游记','美丽心灵','肖生客的救赎','三湾改编','驯龙高手3','复联4','蜘蛛侠-英雄远征']
tickets=[88888,77777,66666,78965,92345,65435,85236,25874,96321]
# 2.创建画布
plt.figure(figsize=(20,8),dpi=80)# 绘制柱状图
x_ticks=range(len(movie_names))
plt.bar(x_ticks,tickets,color=('b','r','g','y','c','m','y','k','g'))# 修改x刻度
plt.xticks(x_ticks,movie_names)#
plt.grid(linestyle="--",alpha=0.5)
plt.title("部分电影票房")
plt.savefig("shujutupian5.png")movie_names2=['美丽心灵','肖生客的救赎','三湾改编']
first_day=[10587.6,10062.5,1275.7]
first_week=[36224.9,34497.6,11830]plt.figure(figsize=(20,8),dpi=80)
plt.bar(range(3),first_day,width=0.2,label="首日票房")
plt.bar([0.2,1.2,2.2],first_week,width=0.2,label="首周票房")
plt.grid(linestyle="--",alpha=0.5)
plt.legend()# 修改刻度
plt.xticks([0.1,1.1,2.1],movie_names2)plt.savefig("shujutupian6.png")# 饼图
place_count=[60605,54546,45819,28246,13270,9945,7679,6799,20105]
plt.figure(figsize=(20,8),dpi=80)
plt.pie(place_count,labels=movie_names,colors=['b','r','g','y','c','m','y','k','g'],autopct="%1.2f%%")plt.legend()
plt.axis('equal')
plt.savefig("shujutupian8.png")
plt.show()
# 直方图
# 电影时长分布状况
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号time=[120,118,124,135,156,158,159,169,147,158,168,123,147,159,146,168,158,157,143,127,138,139,134,156,167,182,193,110,147,158,124,132,147,124,151,161,182,143,163,153,175,185,195,164,156,143,134,126,186,172,193,120,150,103,140]plt.figure(figsize=(20,8),dpi=80)distance=5group_num=int((max(time)-min(time))/distance)plt.hist(time,bins=group_num,density=True)plt.xticks(range(min(time),max(time)+2,distance))
plt.grid(linestyle="--",alpha=0.5)
plt.savefig("shujutupian7.png")plt.show()