从头开始学人工智能day04

从头开始学人工智能

第四天,数据可视化!

介绍matplotlib

Matplotlib是一个Python 2D绘图库,它以多种硬拷贝格式和跨平台的交互式环境生成出版物质量的图形。 Matplotlib可用于Python脚本,Python和IPython (opens new window)Shell、Jupyter (opens new window)笔记本,Web应用程序服务器和四个图形用户界面工具包。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Matplotlib 尝试使容易的事情变得更容易,使困难的事情变得可能。 您只需几行代码就可以生成图表、直方图、功率谱、条形图、误差图、散点图等。 更多的示例,请参见基础绘图例子示例陈列馆

为了简单绘图,该 pyplot 模块提供了类似于MATLAB的界面,尤其是与IPython结合使用时。 对于高级用户,您可以通过面向对象的界面或MATLAB用户熟悉的一组功能来完全控制线型,字体属性,轴属性等。

开启征程

导库

import matplotlib.pyplot as plt
import numpy as np

哈哈,又是练习numpy的一天

figure学习!这个翻译是数字!

#先定下一些X坐标
x = np.arange(1,11,1)
y = x*2+3

plt.figure("NO.1",figsize=(4,3),facecolor="blue",edgecolor="red",frameon=True)
plt.show()

figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, frameon=True)

num:图像编号或名称,数字为编号 ,字符串为名称
figsize:指定figure的宽和高,单位为英寸;
dpi参数指定绘图对象的分辨率,即每英寸多少个像素,缺省值为80 1英寸等于2.5cm,A4纸是 21*30cm的纸张
facecolor:背景颜色
edgecolor:边框颜色
frameon:是否显示边框

在这里插入图片描述

plt.figure()
plt.plot(x,y)
plt.show()

画出一条直线,设置参数!这里直线可以添加label描述的参数!

在这里插入图片描述

plt.figure(num = "haha",figsize=(8,7),facecolor="yellow",edgecolor="red",frameon=True)
plt.plot(x,y)
# plt.show()

y2 = x**2
plt.plot(x,y2,color="red",linewidth=1.0,linestyle='--')
plt.show()

一个图上两种线,先将图纸搭建好,然后上面做出不同的线,而线的函数就是参数设置出来的!

y1 = 2*x+3

y2 = x**2

在这里插入图片描述

坐标轴的学习
#设置轴的范围
plt.xlim(-12,12)
plt.ylim(-10,10)

#设置轴的含义
plt.xlabel("数量",fontproperties="SimHei")
plt.xlabel("总价",fontproperties="SimHei")

#设置轴的刻度
    plt.xticks(np.linspace(-12,12,30))
    plt.yticks([-10,-1.5,1.6,6,10],['便宜','just so-so','good','very good','best'],fontproperties='SimHei')
    plt.show()

在这里插入图片描述

图列学习legend

prop={‘family’:‘SimHei’,‘size’:15}显示中文
legend(hadles=[,],labels=[,],loc=‘best/upper right/upper left/…/lower right’)
handles就是你给他添加legend的线,如果要用handles,则前面的plt.plot,必须用l1,形式(不要忘记逗号)
此处labels会覆盖上述的plt.plot()的label
loc默认是best,给你放在一个合适的位置上,如果你拉伸弹框,位置会跟着变,自动放置合适位置

来自CSDN博主“风度”《matplotlib-beginner》

参数的话就是上面所说!

x = np.arange(-1, 3, 1)
y = x * 2 + 3
plt.figure(num="haha", figsize=(8, 7), facecolor="yellow", edgecolor="red", frameon=True)
line1, = plt.plot(x, y)
y2 = x ** 2
line2, = plt.plot(x, y2, color="red", linewidth=1.0, linestyle='--')

#设置轴的范围
plt.xlim(-12,12)
plt.ylim(-10,10)

#设置轴的含义
plt.xlabel("数量",fontproperties="SimHei")
plt.xlabel("总价",fontproperties="SimHei")

#设置轴的刻度
plt.xticks(np.linspace(-12,12,10))
plt.yticks([-10,-1.5,1.6,6,10],['便宜','just so-so','good','very good','best'],fontproperties='SimHei')

plt.legend(handles=[line1,line2],prop={'family':'SimHei','size':18},loc='best',labels=["直线",'曲线'])
plt.show()

在这里插入图片描述
需要注意的是line1和line2的时候一定要加上,号!

学习Annotation(注解)
x = np.linspace(-1,2,10)
y = 2*x+1

plt.figure(num = 3,figsize=(3,4))
plt.plot(x,y)

#获取当前轴线
ax = plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.spines['bottom'].set_position(('data', -0))  # 也可以是('axes',0.1)后面是百分比,相当于定位到10%处
ax.yaxis.set_ticks_position('left')
ax.spines['left'].set_position(('data', 0))

#绘制散点图
x1 = 0
y1 = 1
plt.plot([0,x1],[y1,y1],'k--',lw=1.0)

'''
其中参数xycoords='data' 是说基于数据的值来选位置, xytext=(+30, -30) 和 textcoords='offset points'
对于标注位置的描述 和 xy 偏差值, arrowprops是对图中箭头类型的一些设置.
'''

plt.annotate(r'$2x+1=%s$' % y1, xy=(x1, y1), xycoords='data', xytext=(+30, -30), textcoords='offset points',
             fontsize=16, arrowprops=dict(arrowstyle='->', connectionstyle='arc3,rad=.2'))

# 其中-3.7, 3,是选取text的位置, 空格需要用到转字符\ ,fontdict设置文本字体.
plt.text(-3.7, 3, r'$This\ is\ the\ some\ text.\mu\ \sigma_i\ \alpha_t$',
         fontdict={'size': '16', 'color': 'red'})

plt.show()

在这里插入图片描述

小结!

基本的可视化就是这样了,后面复杂的图像可视化就在后面在继续学习吧,这个我也是匆匆学的,相信大家都比我强,最近是有点多,这个还是要慢慢来啊!多多练习!!!

记录于 2022 04 11

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BoyC啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值