python数据可视化常用操作(matplotlib)

  1. plot:折线图
  2. scatter:散点图
  3. histogram:直方图
  4. pie:饼图
  5. bar:柱状图
import matplotlib.pyplot as plt
import random
x=range(60)
y=[random.uniform(15,18) for i in x]
y2=[random.uniform(1,3) for i in x]
# 创建画布
plt.figure(figsize=(15,8))

# 绘制图像
plt.plot(x,y,color='red',linestyle='--',label='上海')
plt.plot(x,y2,color='yellow',label='北京')

# 辅助显示层显示图例
plt.legend(loc='upper left')

x_lable=["11点{}分".format(i) for i in x]
# 修改xy刻度
plt.xticks(x[::5],x_lable[::5])
plt.yticks(range(0,40,5))
# 添加网格显示
plt.grid(True,linestyle='--',alpha=0.5)
# 添加描述信息
plt.xlabel("时间变化",size=18)
plt.ylabel("温度变化",size=18)
plt.title("某城市11点到12点温度变化",size=22)
plt.show()
  • figure表示画布,参数figsize表示画布大小长和宽,dpi表示参数
  • plt.show()过后只出现<Figure size 640x480 with 3 Axes>而没有生成图片需要加上%matplotlib inline这段代码
  • plot表示绘画,plt.plot(x,y)必须在plt.show()前面,画两个图线需要两个plot
  • plt.xticks(x[::5],x_lable[::5])和plt.yticks(range(0,40,5))分别设置xy轴的刻度
  • plt.grid(True,linestyle=’–’,alpha=0.5)其中第一个参数默认True,表示是否添加网格显示,第二份参数表示网格线条形状,第三个参数alpha表示透明度
  • plt.xlabel()和plt.ylabel()表示给图x轴y轴添加说明
  • plt.title()表示给图添加标题
  • plt.legend(loc=‘upper left’)用来显示图例,不仅需要在辅助显示层调用,还需要在图像层的plot中添加label参数,loc参数表示图例显示的位置
    在这里插入图片描述

创建多个绘图区

  • plt.subplots(nrows=1,ncols=2,figsize=(20,8),dpi=80)返回值是画布和绘图区,一行两列
  • plt.函数名()相当于面向过程的画图方法 axes.set_方法名()相当于面向对象的画图方法
import matplotlib.pyplot as plt
import random
x=range(60)
y=[random.uniform(15,18) for i in x]
y2=[random.uniform(1,3) for i in x]
# 创建画布
# plt.figure(figsize=(15,8))

# 返回两个值,一个是画布,还有是绘图区
figure,axes=plt.subplots(nrows=1,ncols=2,figsize=(20,8),dpi=80)

# 绘制图像
axes[0].plot(x,y,color='red',linestyle='--',label='上海')
axes[1].plot(x,y2,color='yellow',label='北京')

# 辅助显示层显示图例
axes[0].legend(loc='upper left')
axes[1].legend(loc='upper left')

x_lable=["11点{}分".format(i) for i in x]
# 修改xy刻度
axes[0].set_xticks(x[::5])
axes[0].set_xticklabels(x_lable[::5])
axes[0].set_yticks(range(0,40,5))


axes[1].set_xticks(x[::5])
axes[1].set_xticklabels(x_lable[::5])
axes[1].set_yticks(range(0,40,5))
# 添加网格显示
axes[0].grid(True,linestyle='--',alpha=0.5)
axes[1].grid(True,linestyle='--',alpha=0.5)
# 添加描述信息
axes[0].set_xlabel("时间变化",size=18)
axes[0].set_ylabel("温度变化",size=18)
axes[0].set_title("上海11点到12点温度变化",size=22)

axes[1].set_xlabel("时间变化",size=18)
axes[1].set_ylabel("温度变化",size=18)
axes[1].set_title("北京11点到12点温度变化",size=22)
plt.show()

在这里插入图片描述
柱状图
在这里插入图片描述
在这里插入图片描述
直方图
在这里插入图片描述在这里插入图片描述
饼图

  • plt.pie(x,lables=,autopct=,colors=)
  • x:数量,自动算百分比
  • lables:每部分名称
  • autopct:占比显示指定%1.2%%
  • colors:每部分颜色

在这里插入图片描述在这里插入图片描述

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值