Python数据可视化原来这么玩儿(一)
统计与数据分析实战
共 3598字,需浏览 8分钟
· 2020-09-16
◆ ◆ ◆ ◆ ◆
1. 画线plot( )
# 记得导入numpy库
data = np.random.randint(85,95,10)
plt.plot(data)
plt.show()
默认情况下,含数据的列表当参数传给plot( ),列表内的数据会被视为y轴的值,x轴的值会依列表值的索引位置自动产生。
细心的朋友可能会发现,这个坐标的原点不是(0,0)。别着急,我们使用axis( )设定x,y轴的最小和最大刻度。
data = np.random.randint(85,95,10)
plt.plot(data)
plt.axis([0,10,0,100]) # 默认[x_min,x_max,y_min,y_max]
plt.show()
2. 线条宽度linewidth
data = np.random.randint(85,95,10)
plt.plot(data,linewidth = 5)
plt.axis([0,10,50,150])
plt.show()
够粗吗??!
3. 标题
data = np.random.randint(85,95,10)
plt.plot(data,linewidth = 3)
# 图表标题
plt.title('Demo')
# x轴标题
plt.xlabel('index')
# y轴标题
plt.ylabel('value')
plt.axis([0,10,50,150])
plt.show()
此时,你们老板觉得不行,标题字太小了,不够突出!!!
嗯嗯,立马在线卑微修改~
data = np.random.randint(85,95,10)
plt.plot(data,linewidth = 3)
# fontsize修改字体大小
plt.title('Big Demo',fontsize = 40)
plt.xlabel('index',fontsize = 18)
plt.ylabel('value',fontsize = 18)
plt.axis([0,10,50,150])
plt.show()
4. 坐标轴刻度的设定
data = np.random.randint(85,95,10)
plt.plot(data,linewidth = 3)
plt.title('Demo',fontsize = 26)
plt.xlabel('index',fontsize = 18)
plt.ylabel('value',fontsize = 18)
plt.axis([0,10,50,150])
# 坐标轴刻度的设定
plt.tick_params(axis='both',labelsize = 18,color = 'red')
plt.show()
5. 修订图表的起始值
data = np.random.randint(85,95,10)
# 增加x轴数据列表,不再使用默认值
x = [1,2,3,4,5,6,7,8,9,10]
plt.plot(x,data,linewidth = 3)
plt.title('Demo',fontsize = 26)
plt.xlabel('index',fontsize = 18)
plt.ylabel('value',fontsize = 18)
plt.axis([1,10,50,150])
plt.tick_params(axis='both',labelsize = 12,color = 'red')
plt.show()
当图表的x轴有实际意义的时候,需要自己修订图表的起始值。这时候,只需要增加一列x轴的数据,添加到plot( )方法中即可。
6. 多组数据的应用
data1 = np.random.randint(85,95,10)
data2 = np.random.randint(65,75,10)
x = [1,2,3,4,5,6,7,8,9,10]
plt.plot(x,data1,x,data2,linewidth = 3)
plt.title('Demo',fontsize = 26)
plt.xlabel('index',fontsize = 18)
plt.ylabel('value',fontsize = 18)
plt.axis([1,10,50,150])
plt.tick_params(axis='both',labelsize = 12,color = 'red')
plt.show()
7. 线条色彩与样式
data1 = np.random.randint(85,95,10)
data2 = np.random.randint(65,75,10)
data3 = np.random.randint(55,60,10)
data4 = np.random.randint(100,105,10)
data5 = np.random.randint(110,120,10)
x = [1,2,3,4,5,6,7,8,9,10]
plt.plot(x,data1,'b--',x,data2,'r-*',x,data3,'y:',x,data4,'g.',x,data5,'-s')
plt.title('Demo',fontsize = 26)
plt.xlabel('index',fontsize = 18)
plt.ylabel('value',fontsize = 18)
plt.axis([1,10,50,150])
plt.tick_params(axis='both',labelsize = 12,color = 'red')
plt.show()
8. 刻度设计
pv = [1003,1459,1289,1350]
uv = [567,675,621,666]
months = [1,2,3,4]
plt.plot(months,pv,months,uv)
plt.show()
pv = [1003,1459,1289,1350]
uv = [567,675,621,666]
months = [1,2,3,4]
plt.xticks(months)
plt.plot(months,pv,months,uv)
plt.show()
9. 图例legend( )
pv = [1003,1459,1289,1350]
uv = [567,675,621,666]
months = [1,2,3,4]
plt.xticks(months)
plt.plot(months,pv,months,uv)
# 图例
plt.legend(['pv','uv'],loc = 'best')
plt.show()
10. 保存图片文件
pv = [1003,1459,1289,1350]
uv = [567,675,621,666]
months = [1,2,3,4]
plt.xticks(months)
plt.plot(months,pv,'-^',months,uv,'--',linewidth = 3)
plt.legend(['pv','uv'],loc = 'best')
plt.title('Number of Visitor',fontsize = 26)
plt.xlabel('month',fontsize = 18)
plt.ylabel('value',fontsize = 18)
plt.tick_params(axis='both',labelsize = 12,color = 'red')
# 第一个参数是所存的文件名,第二个参数代表将图表外多余的空间删除
plt.savefig('out.jpg',bbox_inches = 'tight')
plt.show()
plt.close()
送书~转发朋友圈,点赞超50即可获得本书。先到先得。
>>> 严小样儿火了! <<<
>>> Python技巧1 <<<
>>> Python技巧2 <<<
>>> 不可不知系列 <<<
>>> 高级技巧 <<<
>>> 在看,点了会变黄 <<<
让我知道你18
点个赞,证明你还爱我
评论
金融研究 | 使用Python测量关键审计事项的「信息含量」
Tips: 公众号推送后内容只能更改一次,且只能改20字符。如果内容出问题,或者想更新内容, 只能重复推送。为了更好的阅读体验,建议阅读本文博客版, 链接地址https://textdata.cn/blog/2023-01-13-information-content-of-critical-aud
大邓和他的Python
0
CVPR 2024|大视觉模型的开山之作!无需任何语言数据即可打造大视觉模型
↑ 点击蓝字 关注极市平台作者丨科技猛兽编辑丨极市平台极市导读 本文提出一种序列建模 (sequential modeling) 的方法,不使用任何语言数据,训练大视觉模型。>>加入极市CV技术交流群,走在计算机视觉的最前沿本文目录1 序列建模打造大视觉模型(来自 U
极市平台
1
金融研究(更新) | 使用Python构建关键审计事项的「信息含量」
Tips: 公众号推送后内容只能更改一次,且只能改20字符。如果内容出问题,或者想更新内容, 只能重复推送。为了更好的阅读体验,建议阅读本文博客版, 链接地址https://textdata.cn/blog/2023-01-13-information-content-of-critical-aud
大邓和他的Python
0
堪称最优秀的Docker可视化管理工具——Portainer你真的会用吗?
来源:blog.csdn.net/shark_chili3007/article/details/123366179👉 欢迎加入小哈的星球 ,你将获得: 专属的项目实战 / Java 学习路线 / 一对一提问 / 学习打卡 / 赠书福利全栈前后端分离博客项目
小哈学Java
0
谷歌员工爆料 Python 基础团队原地解散
转自 | 机器之心编辑 | 蛋酱什么?谷歌解雇了整个 Python 基础团队?「当与你直接共事的每个人,包括你的主管,都被裁员 —— 哦,是职位被削减,而你被要求安排他们的替代者入职,这些人被告知在不同的国家担任同样的职位,但他们并不为此感到高兴,这是很艰难的一天。」发布这一动态的 Tho
机器学习算法与Python实战
0
五一抢票难,Github上这几个Python项目,你可以试试
又到五一长假啦(虽然其实就放了1天),大家是打算家里蹲or出去玩,又或者是在公司加班呢...今天给大家介绍三个和12306相关的项目,看看你是否用得上。/01/ py12306py12306购票助手,顾名思义,12306买票的~需要在python 3.6以上版本运行程序。1. 安装依赖gi
Crossin的编程教室
0
谷歌员工爆料Python基础团队原地解散
机器之心报道编辑:蛋酱什么?谷歌解雇了整个 Python 基础团队?「当与你直接共事的每个人,包括你的主管,都被裁员 —— 哦,是职位被削减,而你被要求安排他们的替代者入职,这些人被告知在不同的国家担任同样的职位,但他们并不为此感到高兴,这是很艰难的一天。」发布这一动态的 Thomas Wouter
机器学习初学者
0
Python加速运行技巧
Python 是一种脚本语言,相比 C/C++ 这样的编译语言,在效率和性能方面存在一些不足。但是,有很多时候,Python 的效率并没有想象中的那么夸张。本文对一些 Python 代码加速运行的技巧进行整理。 0. 代码优化原则 本文会介绍不少的 Python 代码加速运行的技巧。在深入代码优化细
机器学习算法与Python实战
0