python画图时linestyle,color和loc参数的设置方式

目录
  • python画图时linestyle,color和loc参数的设置
    • 颜色字符(color)
    • 风格字符(linestyle)
    • loc 参数(以matplotlib添加图例为例说明位置)
  • python画图基础
    • 1.matplotlib
      • 1.1绘制基本图像
      • 1.2实现一些其他功能
      • 1.3 在一个坐标系中画出多个图像
      • 1.4多坐标作图
      • 1.5 绘图应用

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

图像显示:

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 对Python中画图时候的线类型详解

    在Python中用matplotlib画图的时候,为了区分曲线的类型,给曲线上面加一些标识或者颜色.以下是颜色和标识的汇总. 颜色(color 简写为 c): 蓝色: 'b' (blue) 绿色: 'g' (green) 红色: 'r' (red) 蓝绿色(墨绿色): 'c' (cyan) 红紫色(洋红): 'm' (magenta) 黄色: 'y' (yellow) 黑色: 'k' (black) 白色: 'w' (white) 灰度表示: e.g. 0.75 ([0,1]内任意浮点数) RG

  • 对Python中plt的画图函数详解

    1.plt.legend plt.legend(loc=0)#显示图例的位置,自适应方式 说明: 'best' : 0, (only implemented for axes legends)(自适应方式) 'upper right' : 1, 'upper left' : 2, 'lower left' : 3, 'lower right' : 4, 'right' : 5, 'center left' : 6, 'center right' : 7, 'lower center' : 8,

  • python设置Pyplot的动态rc参数、绘图的填充

    目录 1.全局参数定制 2.rc参数设置 3.绘图的填充 3.1调用函数fill_between()实现曲线下面部分的填充 3.2 部分区域填充 3.3 两条曲线之间的区域填充 3.4 直接使用fill进行绘图的填充 Matplotlib配置了配色方案和默认设置,主要用来准备用于发布的图片.有两种方式可以设置参数,即全局参数定制和rc设置方法. 查看matplotlib的rc参数: import matplotlib as plt print(plt.ra_params) 1.全局参数定制 Ma

  • python画图时linestyle,color和loc参数的设置方式

    目录 python画图时linestyle,color和loc参数的设置 颜色字符(color) 风格字符(linestyle) loc 参数(以matplotlib添加图例为例说明位置) python画图基础 1.matplotlib 1.1绘制基本图像 1.2实现一些其他功能 1.3 在一个坐标系中画出多个图像 1.4多坐标作图 1.5 绘图应用 python画图时linestyle,color和loc参数的设置 本人没有看过专门介绍matplotlib的书籍,所以一直以来对一些画图的风格不

  • python画图时给图中的点加标签和plt.text的使用

    背景: 今天在用matplotlib模块画各城市2019-nCoV疫情确诊人数和节前流入人口数的图的时候遇到了要给图中的点加上标签示意,原本图长这个样子 现在要给各散点标注是哪个哪个城市,即下面这种图: matplotlib模块加标签主要有matplotlib.pyplot.text()和matplotlib.pyplot.annotate()两个关键函数,后者适用范围更广,今天主要谈一下前者matplotlib.pyplot.text(),简写成plt.text() . 准备知识: 在此重点讲

  • python画图时设置分辨率和画布大小的实现(plt.figure())

    本文介绍了python画图时设置分辨率和画布大小的实现,主要使用plt.figure(),下面就一起来了解一下 plt.figure() 示例: import numpy as np import pandas as pd import warnings warnings.filterwarnings('ignore') import matplotlib.pyplot as plt import seaborn as sns #读取示例数据 df = pd.read_csv( 'https:/

  • Python画图时如何调用本地字体

    matplotlib中的字体文件被封装在font_manager这个子模块中,fontManager.ttflist这个列表涵盖了所有Matplotlib支持的字体. >>> import matplotlib.pyplot as plt >>> from matplotlib.font_manager import fontManager >>> print(fontManager.ttflist[0]) #此为字体文件 <Font 'cmmi

  • postman中POST请求时参数包含参数list设置方式

    如下所示: 图中params包含多个参数,具体如下: {"rzrq":"2019-01-21","rzlx":"1","nr":"","jsonStr":"[{'gzlx':'1','gznr':'11','gzcg':'11','czwt':'11','yjjy':'11','rzgl_id':'','px':1},{'gzlx':'1','gznr':'

  • Android网络请求-sign参数的设置方式

    最近做项目,碰着一个奇怪的请求,后台说在调用接口之前需要验证签名和有效时间,当场就懵逼了,要生成一个sign签名,下面来说说怎么做 首先说说大致思路: sign 的生成:按照规则来是键值对的形式(key=value),拼接的时候按照key=value&key=value(注意:key:后台所需的参数名,value:前台所获取到的值)&time=系统所获取的时间&salt = fangzhou(这个参数按照后台要求),而后进行 urlencode 编码(Java中有方法),下一步进行

  • Python matplotlib画图时图例说明(legend)放到图像外侧详解

    用python的matplotlib画图时,往往需要加图例说明.如果不设置任何参数,默认是加到图像的内侧的最佳位置. import matplotlib.pyplot as plt import numpy as np x = np.arange(10) fig = plt.figure() ax = plt.subplot(111) for i in xrange(5): ax.plot(x, i * x, label='$y = %ix$' % i) plt.legend() plt.sho

  • 解决python中画图时x,y轴名称出现中文乱码的问题

    如下所示: #-*- coding:utf-8 -*- import numpy as np import matplotlib.pyplot as plt from matplotlib.font_manager import FontProperties #k与客户端处理时间的值之间的关系 x=range(2,51,2) y1=[5.393128497232703, 9.57638681757734, 13.828038570286598, 17.88060602988053, 22.943

  • Python在画图时使用特殊符号的方法总结

    目录 一.问题背景 二.注意事项 三.常见特殊符号及对应代码 四.引入特殊符号的万能方法 本文总结了python画图中使用各种特殊符号方式 一.问题背景 在论文中,如何使用特殊符号进行表示?这里给出效果图和代码 完整代码: from matplotlib import pyplot import matplotlib.pyplot as plt from matplotlib.font_manager import FontProperties from matplotlib.ticker im

  • python matplotlib画图时坐标轴重叠显示不全和图片保存时不完整的问题解决

    目录 问题 解决方案 保存时图片不完整的问题 补充:使用matplotlib时如何让坐标轴完整显示所有的标签刻度 总结 问题 在使用matplotlib作图的时候,有的时候会遇到画图时坐标轴重叠,显示不全和图片保存时不完整的问题.如下: 解决方案 画图时重叠或者显示不全的问题 画图时加上参数设置tight_layout=True 画完所有子图后,设置plt.tight_layout() # 加上tight_layout=True 参数设置 fig, axes = plt.subplots(nro

随机推荐