Python数据分析入门(十六):设置可视化图表的信息
现在我们添加图后,没有指定x轴代表什么,y轴代表什么,以及这个图的标题是什么。因此以下我们通过一些属性来设置一下。
设置线条样式:
- 使用plot方法:plot方法就是用来绘制线条的,因此可以在绘制的时候就把线条相关的样式通过参数传进去。示例代码如下:
plt.plot(x,y,linewidth=2)
- 通过Line2D对象来设置:plot方法会返回一个装有Line2D对象的列表,比如lines=plt.plot(x1,y1,x2,y2)因为绘制了两根线条,因此lines中会有两个2D对象。而如果plot只绘制一根线条,那么lines中就只有一Line2D对象。拿到这个Line2D对象后就可以通过set_属性名设置线条的样式了:
lines = plt.plot(x,y)
line = lines[0]
line.set_aa(False) #关掉反锯齿
line.set_alpha(0.5) #设置0.5的透明度
- 使用plt.setp来设置:setp的好处是一次性可以设置多根线条的样式。示例代码如下:
lines = plt.plot(x,y)
plt.setp(lines,linewidth=10,alpha=0.5)
更多Line2D属性:
设置轴和标题:
- 设置轴名称:可以通过
plt.xlabel
和plt.ylabel
来设置x
轴和y
轴的的名称。示例代码如下:
plt.plot(x,y,linewidth=10,color='red')
plt.xlabel("x轴")
plt.ylabel("y轴")
默认情况下是显示不了中文的。需要设置字体。可以通过以下代码来实现:
# 加载字体
from matplotlib import font_manager
font = font_manager.FontProperties(fname="C:\Windows\Fonts\msyh.ttc")
plt.plot(x,y,linewidth=10,color='red')
plt.xlabel("x轴",fontproperties=font)
plt.ylabel("y轴",fontproperties=font)
加载字体的时候,可以到C:\Windows\Fonts中找你喜欢的并且可以显示中文的字体。找到字体后,还需要找到字体的真实名称。方法是右键->属性->安全->对象名称:

- 设置标题:可以通过plt.title方法来实现。示例代码如下:
font = font_manager.FontProperties(fname="C:\Windows\Fonts\msyh.ttc")
plt.title("sin函数",fontproperties=font)
- 设置x轴和y轴的刻度:之前我们画的图,x轴和y轴的刻度都是matplotlib自动生成的。如果想要在生成图的时候手动的指定,那么可以通过plt.xticks和plt.yticks来实现:
plt.xticks(range(0,20,2)) #在x轴上的刻度是0,2,4,6...20
以上会把那个刻度显示在x轴上。如果想要显示字符串类型,那么可以再构造一个数组,这个数组的长度必须和x轴刻度的长度保持一致。然后传给xticks的第二个参数。示例代码如下:
_x = range(0,20,2)
_xticks = ["%d坐标"%i for i in _x]
plt.xticks(_x,_xticks,fontproperties=font) #在x轴上的刻度是0坐标,2坐标...20坐标

同样y轴的刻度设置也是一样的。示例代码如下:
_y = np.arange(-1,1,0.25)
_yticks = ["%.2f点"%i for i in _y]
plt.yticks(_y,_yticks,fontproperties=font)
效果图如下:

复仇者联盟电影票房案例:
avenger = [17974.4,50918.4,30033.0,40329.1,52330.2,19833.3,11902.0,24322.6,47521.8,32262.0,22841.9,12938.7,4835.1,3118.1,2570.9,2267.9,1902.8,2548.9,5046.6,3600.8]
plt.figure(figsize=(15,5))
plt.plot(avenger,marker="o")
font.set_size(10)
plt.xticks(range(20),["第%d天"%x for x in range(1,21)],fontproperties=font)
plt.xlabel("天数",fontproperties=font)
plt.ylabel("票房数(万)",fontproperties=font)
plt.grid()

设置marker:
有时候,我们想要在一些关键点上重点标记出来。那么我们可以通过设置marker来实现。示例代码如下:
x = np.linspace(0,20)
y = np.sin(x)
plt.plot(x,y,marker="o")

我们设置了marker为o,这样就是会在(x,y)的坐标点上显示出来,并且显示的是圆点。其中o跟之前的线条样式的简写是一样的。另外,还可以通过markerfacecolor属性和markersize来指定标记点的颜色和大小。示例代码如下:
### 以下设置标记点的颜色为黑色,尺寸为10
plt.plot(x,y,marker="o",markerfacecolor='k',markersize=10)
设置注释文本:
有时候需要在图形中的某个点标记或者注释一下。那么我们可以使用plt.annotate(text,xy,xytext,arrowprops={})来实现,其中text是注释的文本,xy是需要注释的点的坐标,xytext是注释文本的坐标,arrowprops是箭头的样式属性。
示例代码如下:
ax = plt.subplot(111) x = np.arange(0.0, 5.0, 0.01)
y = np.cos(2*np.pi*t)
line, = plt.plot(x, y,linewidth=2) plt.annotate('local max', xy=(2, 1), xytext=(3, 1.5),
arrowprops=dict(facecolor='black',shrink=0.05),
) plt.ylim(-2, 2)
plt.show()
设置图形样式:
如果想要调整图片的大小和像素,可以通过plt.figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, frameon=True)来实现。 其中num是图的编号,figsize的单位是英寸,dpi是每英寸的像素点,facecolor是图片背景颜色,edgecolor是边框颜色,frameon代表是否绘制画板。
示例代码如下:
plt.figure(figsize=(20,8),dpi=80)
### 其他的绘制图形的代码
我们也可以使用grid方法,来显示图片的网格:
plt.plot(x,y,color="r")
plt.grid()

保存图片:
可以调用plt.savefig(path)来保存当前的图片。
示例代码如下:
plt.savefig("./abc.png")
Python数据分析入门(十六):设置可视化图表的信息的更多相关文章
- Python数据分析入门(六):Pandas的函数应用
apply和applymap 1. 可直接使用NumPy的函数 示例代码: # Numpy ufunc 函数 df = pd.DataFrame(np.random.randn(5,4) - 1) p ...
- Python数据分析入门与实践 ✌✌
Python数据分析入门与实践 (一个人学习或许会很枯燥,但是寻找更多志同道合的朋友一起,学习将会变得更加有意义✌✌) 这是一个数据驱动的时代,想要从事机器学习.人工智能.数据挖掘等前沿技术,都离不开 ...
- Python数据分析入门
Python数据分析入门 最近,Analysis with Programming加入了Planet Python.作为该网站的首批特约博客,我这里来分享一下如何通过Python来开始数据分析.具体内 ...
- 进击的Python【第十六章】:Web前端基础之jQuery
进击的Python[第十六章]:Web前端基础之jQuery 一.什么是 jQuery ? jQuery是一个JavaScript函数库. jQuery是一个轻量级的"写的少,做的多&quo ...
- Python数据分析入门之pandas基础总结
Pandas--"大熊猫"基础 Series Series: pandas的长枪(数据表中的一列或一行,观测向量,一维数组...) Series1 = pd.Series(np.r ...
- Python数据分析入门与实践
Python数据分析入门与实践 整个课程都看完了,这个课程的分享可以往下看,下面有链接,之前做java开发也做了一些年头,也分享下自己看这个视频的感受,单论单个知识点课程本身没问题,大家看的时候可以关 ...
- Python调用matplotlib实现交互式数据可视化图表案例
交互式的数据可视化图表是 New IT 新技术的一个应用方向,在过去,用户要在网页上查看数据,基本的实现方式就是在页面上显示一个表格出来,的而且确,用表格的方式来展示数据,显示的数据量会比较大,但是, ...
- 10个步骤教你如何安装Anaconda安装,Python数据分析入门必看
前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:小白 PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行 ...
- python 教程 第十六章、 正则表达式
第十六章. 正则表达式 1) 匹配多个表达式 记号 re1|re2 说明 匹配正则表达式re1或re2 举例 foo|bar 匹配 foo, bar 记号 {N} 说明 匹配前面出 ...
随机推荐
- Baccarat流动性挖矿的收益能否持续?该如何参与Baccarat流动性挖矿?
2020年DeFi市场火热,众多投资机构纷纷入场,分享这场资本盛宴.然而,目前市面上大多数DeFi项目手续费高昂,小资金的投资者无法入市.为了让更多的用户参与其中,NGK推出了Baccarat流动性挖 ...
- BGV崛起带动DeFi重回大众视野
自10月份比特币二次发力以来,DeFi越来越被市场忽略,这当然也有比特币给力和DeFi低迷的双重原因,但随着Baccarat的平台币BGV于A网的正式上线,近期DeFi重新回到了大众的视野中. 正如区 ...
- Mybatis-04 日志、分页
Mybatis-04 日志.分页 日志 1.日志工厂 如果数据库操作出现异常,就需要打印日志来排错. 日志工厂会把日志工作委托实现: SLF4J Apache Commons Logging Log4 ...
- Golang 实现 Redis(9): 使用GeoHash 搜索附近的人
本文是使用 golang 实现 redis 系列的第九篇,主要介绍如何使用 GeoHash 实现搜索附近的人. 搜索附近的POI是一个非常常见的功能,它的技术难点在于地理位置是二维的(经纬度)而我们常 ...
- Excel小技巧之VLOOKUP()使用简单说明
前两天人事的小姐姐需要处理一个表格,需要在一张新表中的匹配旧表的数据,由于数据量较大不知如何处理. 我告诉她使用VLOOKUP()函数,然后她不知道怎么使用.其实我也不大用,因为数据库用的多很少使用表 ...
- molloc堆区的动态内存分配
[前言]前面有一篇文章介绍了堆区栈区的区别.栈区的核心主要集中在操作一个栈结构,一般由操作系统维护.堆区,主要是我们程序员来维护,核心就是动态内存分配. 这篇笔记结束就不在高新CSAPP的读书笔记了, ...
- SpringBoot(十一): Spring Boot集成Redis
1.在 pom.xml 中配置相关的 jar 依赖: <!-- 加载 spring boot redis 包 --> <dependency> <groupId>o ...
- 7.vue组件(二)--双向绑定,父子组件访问
本文主要说两件事 1. 如何实现父子组件之间的双向绑定 2. 父组件如何访问子组件的data,method, 子组件如何访问父组件的data,method等 一. 如何实现父子组件之间的双向绑定 案例 ...
- 在Arch上使用Fcitx5
目录 卸载Fcitx4 安装Fcitx5 配置 修改环境变量 系统登陆后默认启动Fcitx5输入法 配置主题 最终使用效果 参考文档 我是一个Arch+KDE的用户,所以下面的方法可能不适合所有的Li ...
- linux 几种传输文件的方式
SimpleHTTPServer + wget 如果线上可以直连线下的话,在线上使用wget访问线下的文件服务器: web的方法,比较灵活,使用完要尽快关闭这个服务: cd temp temp$ py ...