python-matplotlib

# 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()

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • grub异常

    假如看到grub rescue,表示mbr (master boot record)的资料,完全对应不上磁盘的状况,所以无法辨别系统的所有分区,更不用说连gru...

    Dean0731
  • 深度学习_1_神经网络_4_分布式Tensorflow

    ​ 1,创建一个tf.train.ClusterSpec,用于对集群的所有任务进行描述,该描述对于所有任务相同

    Dean0731
  • 深度学习_1_神经网络_2_深度神经网络

    ​ sigmod f(x)=1/(1+e^(-x)) 计算量大,反向传播时 容易出现梯度爆炸

    Dean0731
  • 用Python随手画个图

    最近遇到个任务需要画一些坐标图,我就在想,用了这么长时间的 Python 了,能不能用 Python 画图呢?学习一门语言不能只为了学习语言而学习,要做到学以致...

    SuperFeng
  • python下Matplotlib绘图案例与常见设置简介

    首先一幅Matplotlib的图像组成部分介绍。 基本构成 在matplotlib中,整个图像为一个Figure对象。在Figure对象中可以包含一个或者多个A...

    学到老
  • 大数据技术在舆情服务领域的应用

    曾经担任翰云时代科技有限公司总裁,NOKIA位置服务部门大中国区产品总监,甲骨文(Oracle)顾问咨询服务部中国区实施总监,Sun公司ISV工程部高级经理,北...

    叶锦鲤
  • Truncate用法详解

    当我们想要清空某张表时,往往会使用truncate语句。大多时候我们只关心能否满足需求,而不去想这类语句的使用场景及注意事项。本篇文章主要介绍truncate语...

    MySQL技术
  • js获取地址栏传参

    地址:http://127.0.0.1:8082/prosperleedir/index.html?id=6666&name=prosper#prosper

    ProsperLee
  • 项目实战 01:将唐诗三百首写入 Elasticsearch 会发生什么?

    通过这个项目的实战,能让你串联起之前的知识点应用于实战,并建立起需求分析、整体设计、数据建模、ingest管道使用、检索/聚合选型、kibana可视化分析等的全...

    铭毅天下
  • Tomcat启动慢解决方法(本人CentOS7.4系统)

    首先查看日志信息,查看因为什么而启动慢   在CentOS7启动Tomcat时,启动过程很慢,需要几分钟,经过查看日志,发现耗时在这里:是session引起的随...

    863987322

扫码关注云+社区

领取腾讯云代金券