python画图时linestyle,color和loc参数的设置方式
作者:TZmin 发布时间:2021-07-03 16:15:07
标签:python,画图,linestyle,color,loc
python画图时linestyle,color和loc参数的设置
本人没有看过专门介绍matplotlib的书籍,所以一直以来对一些画图的风格不是很清楚,今天总结一下linestyle,color和loc,供那些像我一样没看过这方面介绍的人使用。
linestyle和color是matplotlib做表时常用的两个参数,只要是需要线条的,不论是主图,还是添加的网格线,基本上是都会遇到的。loc则是用来确定位置的,一般添加图例的时候回用到。
颜色字符(color)
字符 | 代表颜色 |
---|---|
r | 红色 |
b | 蓝色 |
g | 绿色 |
w | 白色 |
c | 青色 |
m | 洋红 |
y | 黄色 |
k | 黑色 |
风格字符(linestyle)
字符 | 代表风格 |
---|---|
- (一个连字符) | 实线 |
– (两个连字符) | 虚线 |
-. | 点划线 |
: | 点虚线 |
’ ’ | 留空,空格 |
loc 参数(以matplotlib添加图例为例说明位置)
loc string | loc code | 位置 |
---|---|---|
"best" | 0 | 右上角(默认) |
“upper right” | 1 | 右上角 |
“upper left” | 2 | 左上角 |
“lower left” | 3 | 左下角 |
“lower right” | 4 | 右下角 |
"right" | 5 | 中右侧 |
“center left” | 6 | 中左侧 |
“center right” | 7 | 中右侧 |
“low center” | 8 | 中下方 |
“upper center” | 9 | 中上方 |
“center” | 10 | 中间 |
python画图基础
python用于画图常用matplotlib和seaborn**
1.matplotlib
使用前需要导入api
import matplotlib.pyplot as plt
1.1绘制基本图像
1.1.1折线图
1.准备数据
import random
x = range(60)
y = [random.uniform(15,18) for i in x]
#random.uniform 中参数即为取值范围。
2.创建画布
plt.figure(figsize=(20,5),dpi=100)
#其中参数figsize即为图像大小,dpi为分辨率。
3.绘制图像
plt.plot(x,y)
4.图像显示
plt.show()
1.1.2 散点图
重复1,2,4步
第3步改为plt.scatter(x,y)
图像显示:
1.1.3柱状图
重复1,2,4步
第3步改为plt.bar(x,y)
图像显示:
1.1.4 直方图
重复1,2,4步
第三步改为plt.hist(y)
只传入一个y参数,表示y的分布情况
图像显示:
也可以传入x参数,表示x的分布情况(但因x为0~59,所以没有意义)
图像显示:
1.2实现一些其他功能
我们用自己创建的数据作为上海市早上10时~11时的温度变化
#1.数据准备
x_shanghai = x
y_shanghai = y
#2.创建画布
plt.figure(figsize=(20,5),dpi=100)
#3.绘制图像
plt.plot(x_shanghai,y_shanghai)
#3.1添加x、y的刻度
x_ticks = ["10:{}分"format(i) for i in x_shanghai]
y_ticks = range(40)
#3.2修改x、y的刻度
plt.xticks(x_shanghai[::5],x_ticks[::5])
#plt.xticks第一个参数是刻度,第二个参数是刻度标签(plt.yticks也一样)
plt.yticks(y_ticks[::5])
#五分钟取一个刻度
#3.3添加网格显示
plt.grid(True,linestyle = "--",alpha = 0.6)
参数linestyle为网格线的种类,alpha为网格线深浅
图像显示:
1.3 在一个坐标系中画出多个图像
#0 准备数据
x = range(60)
y_shanghai = [random.uniform(15,18) for i in x]
y_beijing = [random.uniform(1,3) for i in x]
#1 创建画布
plt.figure(figsize=(20,5),dpi=100)
#2 绘制图像
plt.plot(x,y_shanghai,label = "上海")
#画一条标签为上海的图像
plt.plot(x,y_beijing,color = 'r',linestyle="--",label="北京")
#画一条标签为北京的图像
plt.legend(loc ="best")
#plt.legend()函数设置图例位置
#2.1 添加x,y刻度
x_shanghai_ticks = ["10点{}分".format(i) for i in x]
y_shanghai_ticks = range(40)
#2.2 修改x,y刻度
plt.xticks(x[::5],x_shanghai_ticks[::5])
plt.yticks(y_shanghai_ticks[::5])
#2.3 添加网格显示
plt.grid(True , linestyle = "--",alpha = 0.6)
#2.4 添加标签数据
plt.xlabel("时间",fontsize=20)
plt.ylabel("温度",fontsize=20)
plt.title("某市某日10时至11时的温度变化折线图",fontsize=20)
#fontsize为字体大小
# 图像保存
plt.savefig("test.png")
#3 图像显示
plt.show()
图像显示:
1.4多坐标作图
#0 准备数据
x = range(60)
y_shanghai = [random.uniform(15,18) for i in x]
y_beijing = [random.uniform(1,3) for i in x]
#1 创建画布
plt.figure(figsize=(20,8),dpi=100)
# fig,axes=plt.subplot(nrows=1,ncols=2,figsize=(20,8),dpi=100)
#2 绘制图像
# axes[0].plot(x,y_shanghai,label = "上海")
# axes[1].plot(x,y_beijing,color = 'r',linestyle="--",label="北京")
f1=plt.subplot(1,2,1)#将figure分成一行两列,第三个数字代表的是第一个位置的图
f1.scatter(x,y_shanghai,label="上海",color='r',linestyle='--')#分别为x的显示范围为0-3,y的坐标0-1
f2=plt.subplot(1,2,2)#将figure分成一行两列,第三个数字代表的是第二个位置的图
f2.scatter(x,y_beijing,label="北京")
# #2.1 添加x,y刻度
x_ticks= ["10点{}分".format(i) for i in x]
y_shanghai_ticks = range(40)
# #2.2 修改x,y刻度
# plt.xticks(x[::5],x_ticks[::5])
# plt.yticks(y_shanghai_ticks[::5])
f1.set_xticks(x[::5])
f1.set_yticks(y_shanghai_ticks[::5])
f1.set_xticklabels(x_ticks[::5])
f2.set_xticks(x[::5])
f2.set_yticks(y_shanghai_ticks[::5])
f2.set_xticklabels(x_ticks[::5])
# #2.3 添加网格显示
f1.grid(True , linestyle = "--",alpha = 0.6)
f2.grid(True , linestyle = "--",alpha = 0.6)
# #2.4 添加标签数据
# plt.xlabel("时间",fontsize=20)
# plt.ylabel("温度",fontsize=20)
# plt.title("某市某日10时至11时的温度变化折线图",fontsize=20)
f1.set_xlabel("时间")
f1.set_ylabel("温度")
f1.set_title("上海市十时至十一时的温度变化",fontsize=20)
f2.set_xlabel("时间")
f2.set_ylabel("温度")
f2.set_title("北京市十时至十一时的温度变化",fontsize=20)
f1.legend(loc=0)
f2.legend(loc=0)
# 图像保存
plt.savefig("test.png")
#3 图像显示
plt.show()
图像显示:
1.5 绘图应用
import numpy as np
# 绘制一般函数的图像
# 绘制反正切函数图像
# 0 准备数据
x = np.linspace(-10,10,1000)
# x为-10到10等间距取1000份
y = np.arctan(x)
# 1 创建画布
plt.figure(figsize=(20,8),dpi = 100)
# 2 绘制图像
plt.plot(x,y)
# 2.1添加网格
plt.grid(True,linestyle = "--",alpha=0.6)
# 3 显示图像
plt.show()
图像显示:
#绘制正比例函数y = x
图像显示:
来源:https://blog.csdn.net/LittleShengs/article/details/88777677
0
投稿
猜你喜欢
- NVIDIA驱动安装与更新首先查看电脑的显卡版本,步骤为:此电脑右击–>管理–>设备管理
- 背景今天朋友给我发了一个某游戏的兑换码,压缩文件发过来的。结果被加密了。wc?还说叫爸爸就给我密码?男人是这么容易像恶势力低头的?直接给你爆
- 介绍文档解析涉及检查文档中的数据并提取有用的信息。它可以通过自动化减少了大量的手工工作。一种流行的解析策略是将文档转换为图像并使用计算机视觉
- 注:本次实验的数据在文章最后面,我已上传至百度网盘一.json模块对数据进行处理 上面三个txt文本是这三个国家疫情爆发相关的数据
- 闲暇时间用tkinter写了个简易计算器,可实现简单的加减乘除运算,用了Button和Entry2个控件,下面是代码,只是简单的用了偏函数p
- 在Class内部,可以有属性和方法,而外部代码可以通过直接调用实例变量的方法来操作数据,这样,就隐藏了内部的复杂逻辑。但是,从前面Stude
- 可以把多个页面相同的部分提取出来,放在一个母板里,这些页面只需要继承这个母板就好了通常会在母板中定义页面专用的 CSS 块和 JS 块,方便
- 一个网站能切换不同的CSS风格大家应该都了解,像众所周知的腾讯在今年改版时也增加了切换皮肤的功能。根据时间自动调整站点风格是不错的想法,这种
- 前言当我们需要对列表(list)、元组(tuple)、字典(dictionary)和集合(set)的元素进行遍历时,其实Python内部都是
- Pandas Shift函数基础在使用Pandas的过程中,有时会遇到shift函数,今天就一起来彻底学习下。先来看看帮助文档是怎么说的:&
- 格式请使用 gif 或 jpg 或swf (flash)同一组广告请使用一种格式。命名命名方式:宽x高.图片格式x 必须小写 ; 图片格式
- 桑基图,它的核心是对不同点之间,通过线来连接。线的粗细代表流量的大小。很多工具都能实现桑基图,比如:Excel、tableau,我们今天要用
- 这两天为用bottle+mongodb写的一个项目加上登录功能,无奈怎么都获取不到保存的cookie,文档给出让我们这样操作cookie的代
- 前言本章介绍pandas中的缺失数据,主要内容有:pandas中对np.nan的操作: 统计 、 删除 、 填充 、 插值 pan
- 本文实例讲述了python使用chardet判断字符串编码的方法。分享给大家供大家参考。具体分析如下:最近利用python抓取一些网上的数据
- 为了组织search线的设计师交流会,特地去准备了一些资料。《SERP 2010》是其中一个,但是由于时间关系没有进行讨论。原著是英文报告,
- configparser中默认值的设定在做某一个项目时,在读配置文件中,当出现配置文件中没有对应项目时,如果要设置默认值,以前的做法是如下的
- 这篇文章主要介绍了Python文本处理简单易懂方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋
- python脚本执行的3种方法:(找到自己能够使用的方法,能用的方法就是好方法)方法一:交互模式直接执行语句交互模式下直接编写执行 Pyth
- Python 是面向对象的语言,所以程序抛出的异常也是类。常见的异常类1.NameError:尝试访问一个没有申明的变量2.ZeroDivi