博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
机器学习-数据可视化神器matplotlib学习之路(一)
阅读量:7099 次
发布时间:2019-06-28

本文共 3058 字,大约阅读时间需要 10 分钟。

直接上代码吧,说明写在备注就好了,这次主要学习一下基本的画图方法和常用的图例图标等

from matplotlib import pyplot as pltimport numpy as np#这里是最最基本的代码了#x轴-2到2均分50个点x = np.linspace(-2, 2, 50)y = x**2plt.plot(x, y)plt.show()

下面要加一下元素和样式了

from matplotlib import pyplot as pltimport numpy as npx = np.linspace(-2, 2, 50)y = x**2plt.xlim((-3,3))#设置x坐标范围plt.ylim((0,5))#设置y坐标范围plt.plot(x, y,         linestyle='--',#线条的样式         linewidth=2.0,#线条宽度         alpha=0.5,#透明度,数字越小越透明,范围(0-1)         marker='.',#每个点的样式         color='r',#颜色         label='y=x**2'#图例         )#打开图例,不然plt.plot里面的label属性会无效plt.legend(    loc='upper right'#指定图例位置,这里是右上,默认为best会自动选择最优的位置           )plt.show()

到这里,如果我们想要x轴刻度自由控制一下可以用 plt.xticks 来实现

from matplotlib import pyplot as pltimport numpy as npx = np.linspace(-2, 2, 50)y = x**2plt.xlim((-3,3))#设置x坐标范围plt.ylim((0,5))#设置y坐标范围plt.plot(x, y,         linestyle='--',#线条的样式         linewidth=2.0,#线条宽度         alpha=0.5,#透明度,数字越小越透明,范围(0-1)         marker='.',#每个点的样式         color='r',#颜色         label='y=x**2'#图例         )#打开图例,不然plt.plot里面的label属性会无效plt.legend(    loc='upper right'#指定图例位置,这里是右上,默认为best会自动选择最优的位置           )new_xticks = np.linspace(-2, 2, 6)plt.xticks(new_xticks)#在-2到2之间平均显示6个刻度plt.show()

这里x轴刻度就和之前发生一点变化,有时候不需要用具体数字而是一个文字标签显示,比如y轴0以上的为normal,2以上为good,4以上为very good,

可以用 plt.yticks([0, 2, 4], [‘normal’,'good','very good']) 来实现,接下来就来实现一下

from matplotlib import pyplot as pltimport numpy as npx = np.linspace(-2, 2, 50)y = x**2plt.xlim((-3,3))#设置x坐标范围plt.ylim((0,5))#设置y坐标范围plt.plot(x, y,         linestyle='--',#线条的样式         linewidth=2.0,#线条宽度         alpha=0.5,#透明度,数字越小越透明,范围(0-1)         marker='.',#每个点的样式         color='r',#颜色         label='y=x**2'#图例         )#打开图例,不然plt.plot里面的label属性会无效plt.legend(    loc='upper right'#指定图例位置,这里是右上,默认为best会自动选择最优的位置           )new_xticks = np.linspace(-2, 2, 6)plt.xticks(new_xticks)#在-2到2之间平均显示6个刻度plt.yticks([0, 2, 4], [r'$normal$', r'$good$', r'$very\ good$'])#前后对应上就好了,$包住的是调整默认字体plt.show()

接下来就是对坐标轴的处理了,我们想要移动坐标,用方框的左边和下班做y轴和x轴,右边和上班把颜色去掉,然后移动一下x和y轴

from matplotlib import pyplot as pltimport numpy as npx = np.linspace(-2, 2, 50)y = x**2plt.xlim((-3,3))#设置x坐标范围plt.ylim((0,5))#设置y坐标范围plt.plot(x, y,         linestyle='--',#线条的样式         linewidth=2.0,#线条宽度         alpha=0.5,#透明度,数字越小越透明,范围(0-1)         marker='.',#每个点的样式         color='r',#颜色         label='y=x**2'#图例         )#打开图例,不然plt.plot里面的label属性会无效plt.legend(    loc='upper right'#指定图例位置,这里是右上,默认为best会自动选择最优的位置           )new_xticks = np.linspace(-2, 2, 6)plt.xticks(new_xticks)#在-2到2之间平均显示6个刻度plt.yticks([0, 2, 4], [r'$normal$', r'$good$', r'$very\ good$'])#前后对应上就好了,$包住的是调整默认字体gca = plt.gca()gca.spines['right'].set_color('none')#将图像方框右边颜色取消gca.spines['top'].set_color('none')#将图像方框上边颜色取消gca.xaxis.set_ticks_position('bottom')#x轴设为方框下边gca.yaxis.set_ticks_position('left')#y轴设为方框左边gca.spines['bottom'].set_position(('data', 1))#将方框下边也就是x轴移动到y=1的位置gca.spines['left'].set_position(('data', 0))#将方框左边也就是y轴移动到x=0的位置plt.show()

这里的方法稍微有点麻烦,折腾了一下终于大功告成了!今天就到这儿,下次准备学习一下更怎样在图中用文字和其它说明

转载于:https://www.cnblogs.com/yifengjianbai/p/10251305.html

你可能感兴趣的文章
假设动态运行java文字,当在脚本式配置,这是非常方便的
查看>>
android4.0 的图库Gallery2代码分析(三) 之Applition的初始化准备
查看>>
SOM自组织映射网络 教程
查看>>
lintcode:寻找旋转排序数组中的最小值 II
查看>>
树莓派学习笔记——交叉编译练习之SQLite3安装
查看>>
android stuido build 慢的解决办法
查看>>
Appium移动自动化测试(四)--one demo
查看>>
nginx配置location总结及rewrite规则写法
查看>>
python 登陆接口
查看>>
RedHat7 部署ELK日志分析系统
查看>>
DS实验题 Missile
查看>>
微信上 网页图片点击全屏放大
查看>>
jquery获取css颜色值返回RGB应用
查看>>
(void __user *)arg 中__user的作用
查看>>
Redefine:Change in the Changing World
查看>>
POJ 3436 ACM Computer Factory 最大流
查看>>
atitit。全局变量的设计与实现 java php的异同
查看>>
自己定义控件-画板,橡皮擦,刮刮乐
查看>>
spark 按照key 分组 然后统计每个key对应的最大、最小、平均值思路——使用groupby,或者reduceby...
查看>>
顺序表示的线性表——顺序表
查看>>