从头开始学人工智能day04

从头开始学人工智能day04,第1张

从头开始学人工智能

文章目录
  • 从头开始学人工智能
    • 第四天,数据可视化!
      • 介绍matplotlib
    • 开启征程
      • 导库
      • figure学习!这个翻译是数字!
        • 坐标轴的学习
        • 图列学习legend
        • 学习Annotation(注解)
          • 小结!

第四天,数据可视化! 介绍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,给你放在一个合适的位置上,如果你拉伸d框,位置会跟着变,自动放置合适位置

来自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'x+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

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/607166.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-14
下一篇 2022-04-14

发表评论

登录后才能评论

评论列表(0条)

保存