前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python-matplotlib

python-matplotlib

作者头像
Dean0731
发布2020-05-08 15:35:05
5970
发布2020-05-08 15:35:05
举报
文章被收录于专栏:blog-技术博客blog-技术博客
代码语言:javascript
复制
# matplotlib 画图工具
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
from pandas.core.series import Series
# 自定义数据
X = Series(np.array([1,2,3,4,5]))
Y = Series(np.array([1,5,2.7,3.8,4.9]))
Y1 = (np.random.random((1,5))*10)[0]
X1 = [1,2,3,4,5]

# =================================================
# 折线图
# xxx 文件有两列组成 DATE(yyyy/MM/dd),VALUE
# unrate = pd.read_csv("xxx")
# 修改日期格式(yyyy-MM-dd)
# unrate['DATE'] = pd.to_datetime(unrate['DATE'])
# plt.plot() # 若不传入数据图像为空(只显示画图域)  只有 xy轴   范围为0-1 (0.0 0.2 0.4 0.6     1.0)
# plt.plot(X,Y) # 线x轴后y轴
# plt.xticks(rotation=45)  # 设置x轴上的数字倾斜角度
# plt.yticks(rotation=45)  # 设置y轴上的数字倾斜角度
# plt.xlabel('x')  # 给xy轴加标签 注意中文可能出错
# plt.ylabel('y')
# plt.title('title')  # 标题
# plt.show()  # 显示图像
# =========================================================
# 子图操作
# fig = plt.figure(figsize=(3,6)) # figsize画图域的长与宽
# fig = plt.figure()
# ax1 = fig.add_subplot(2,2,1)  # 三个画图域  第一张图 左上角序号为1
# ax2 = fig.add_subplot(2,2,2)  # 右上角 序号2
# ax3 = fig.add_subplot(2,2,4)  # 右下角序号4
# 有三个画图域:一张大图  里边三个小图 ,注意尽量保持每个域 中前两个量都相同如全都是(2,2,*) 否则图像可能会重合
#   大图分为 2*2 ,序号从左到右,上到下 1-4
# ax1.plot(X,Y)
# ax2.plot(X,Y)
# =================================================
# 在一个图上画多条线
# fig = plt.figure()
# plt.plot(X,Y,c="red",label="first")  # 添加label,
# plt.plot(X1,Y1,c="blue",label="second")
# plt.legend(loc="best")  # 可以在图中显示 不同线的标注信息
# 指定位置 best 表示自定义最好位置, upper left 左上角  lower ,center left,right等
# ===================================================
# 条形图与散点图
# plt.subplots(X,Y,0.3) # 不能此种方式直接画
# fig,ax = plt.subplots()
# ax.bar(X,Y,0.3) # 0.3表示柱形的宽度
# ax.bar(X1,Y1,0.5)  # X1 表示的是每个柱距离0的大小 Y1是柱的高度
# ax.set_xticklabels(["a","b","c","d","e"],rotation=45) # 定义x轴要显示的内容 本例为1,2,3,4,5
# ax.set_xticks([1,2,3,4,5]) # 指明x轴上1,2,3,4,5那些需要显示
# ax.set_ylabel("y")  # y轴标签
# ax.set_xlabel("x")  # x轴标签
# ax.set_title("title")
# -------------------------------
# 横向柱状图
# fig,ax = plt.subplots()
# ax.barh(X1,Y1,0.3) # x 变为竖着的
# ax.set_yticks()
# ax.set_yticklabels(yy)
# ===================================================
# fig,ax = plt.subplots()
# ax.scatter(X1,Y1)
# ax.set_xlabel("X")
# ax.set_ylabel("Y")
# ---------------------
# 子图
# fig = plt.figure()
# ax1 = fig.add_subplot(2,1,1)
# ax2 = fig.add_subplot(2,1,2)
# ax1 ... ax2 ...

# -----------------
# 直方图
# fig,ax = plt.subplots()
# ax.hist(Y1)
# ax.hist([1,1,1,3,3,3,4,4,4,5,5,5,5,5,5,51])
# ax.set_ylim(0,3) # 设置y轴区间大小
# ax.set_xlim(0,5) # 设置y轴区间大小
# 接受一组数据,假如数据是可比较的,
# 在x轴上会分区间显示, 数值大小在改区间的数的个数  区间个数 通过bins修改
# 通过range=(2,5) 控制x轴显示的范围  只显示2到5范围内的
# ======================================================
# 盒图
# fig,ax = plt.subplots()
# ax.boxplot([[1,2,3],2,3,4,5,6,7])
# ax.set_xticklabels(["a","b"],rotation=90) # x轴上显示的标签
# ax.set_ylim(0.5) # 范围
# boxplot([]) list中可为几个数值,也可以为[] ,即每个[] 对应x上一项
# 注意最多两层 [[],[]] 三层报错
# 图的主要作用是 容易看出一个[] 中四等分出的值
#  a--> 1,1.5,2,2.5,3   b-->2 ....
# ====================================

# fig,ax = plt.subplots()
# ax.tick_params(bottom="on")
# for key,spine in ax.spines.items():
#     spine.set_visible(False)
# ax.plot(X,Y)
# ax.plot(X1,Y1)

# 细节设置
# ax.plot(c=(0/255,10/255,164/255),linewidth=3) # 设置宽度,颜色:颜色使用元祖方式表示,固定格式
# ax.text(x,y,"zz") # 在x,y点处添加zz字符
# plt.show()
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-09-25 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档