首页 > 其他分享 >matplotlib2(同坐标多图形/多个坐标系实线绘图)

matplotlib2(同坐标多图形/多个坐标系实线绘图)

时间:2023-02-10 17:22:13浏览次数:43  
标签:axes 20 实线 ticks label plt 绘图 matplotlib2 linestyle

4.在一个坐标下绘制多个图形

import matplotlib.pyplot as plt
import random
from pylab import mpl

#设置显示中文字体
mpl.rcParams["font.sans-serif"] = ["SimHei"]
#设置正常显示符号
mpl.rcParams["axes.unicode_minus"] = False

#0.准备X,Y坐标的数据
x = range(60)
y_shanghai = [random.uniform(15,18) for i in x]#生成60个15-18之间的浮点数

y_beijing = [random.uniform(1,3) for i in x]#多个y轴的数


#1.创建画布
plt.figure(figsize=(20,8),dpi=100) #figsize,设置图像大小比例为20:8,dpi,图像的清晰度

#2.绘制图像
plt.plot(x,y_shanghai,label="上海") #此处的plot可以理解为画折线图
plt.plot(x,y_beijing,color = "r",linestyle="--",label="北京") #此处的plot可以理解为画折线图
#表1会对参数linestyle与color进行介绍

#2.1添加x,y轴刻度
#构造x,y轴刻度标签
x_ticks_label = ["11点{}分".format(i) for i in x]
y_ticks = range(40)

#刻度显示
plt.xticks(x[::5],x_ticks_label[::5]) #必须先有数再贴标签,也就是说
plt.yticks(y_ticks[::5]) #此处的

#2.2添加网格显示
plt.grid(True,linestyle="--",alpha=0.5)#True:添加网格线,linestyle:网格线类型,alpha:线条透明度,0为全透明,1为实线

#2.3添加描述信息
plt.xlabel("时间")
plt.ylabel("温度",fontsize=20)
plt.title("中午11点--12点某城市温度变化图",fontsize=20)#fontsize,设置字体大小

#2.4 图像保存
plt.savefig("./test.png")

#2.5添加图例
plt.legend(loc=0)
#表2会对loc的参数取值进行介绍

#3.图像显示
plt.show()
  • color中的color参数/linestyle参数
颜色字符 - 实线
r 红色 -- 虚线
g 绿色 -. 点划线
b 蓝色 : 点虚线
w 白色 ' ' 留空、空格
c 青色
m 洋红
y 黄色
k 黑色
  • plt.legend中loc参数
location string location code
best 自动选择最合适的位置 0
upper right 上边偏右 1
upper left 上边偏左 2
lower right 下边偏右 3
lower left 下边偏左 4
right 右边 5
center left 中间靠左 6
center light 中间靠右 7
lower center 中间靠下 8
upper center 中间靠上 9
center 中间 10

5.多个坐标系实线绘图

import matplotlib.pyplot as plt
import random
from pylab import mpl

#设置显示中文字体
mpl.rcParams["font.sans-serif"] = ["SimHei"]
#设置正常显示符号
mpl.rcParams["axes.unicode_minus"] = False

#0.准备X,Y坐标的数据
x = range(60)
y_shanghai = [random.uniform(15,18) for i in x]#生成60个15-18之间的浮点数
y_beijing = [random.uniform(1,3) for i in x]#多个y轴的数

#1.创建画布
# plt.figure(figsize=(20,8),dpi=100) #figsize,设置图像大小比例为20:8,dpi,图像的清晰度
fig,axes = plt.subplots(nrows = 1,ncols = 2,figsize=(20,8),dpi=100)
#设置1行2列的数据,分别用fig与axes两个参数承接

#2.绘制图像
axes[0].plot(x,y_shanghai,label="上海",linestyle="-.") #此处的plot可以理解为画折线图
axes[1].plot(x,y_beijing,color = "y",linestyle="--",label="北京") #此处的plot可以理解为画折线图
#表1会对参数linestyle与color进行介绍


#2.1添加x,y轴刻度
#构造x,y轴刻度标签
x_ticks_label = ["11点{}分".format(i) for i in x]
y_ticks = range(40)

#刻度显示
axes[0].set_xticks(x[::5]) #必须先有数再贴标签,也就是说
axes[0].set_yticks(y_ticks[::5]) #此处的
axes[0].set_xticklabels(x_ticks_label[::5]) #注意此处和原始设置的区别,必须另起一行,单独进行声明

axes[1].set_xticks(x[::5]) #必须先有数再贴标签,也就是说
axes[1].set_yticks(y_ticks[::5]) #此处的
axes[1].set_xticklabels(x_ticks_label[::5]) #此处的

#2.2添加网格显示
axes[0].grid(True,linestyle="--",alpha=0.5)
axes[1].grid(True,linestyle="--",alpha=0.5)

#2.3添加描述信息
axes[0].set_xlabel("时间")
axes[0].set_ylabel("温度",fontsize=20)
axes[0].set_title("中午11点--12点某城市温度变化图",fontsize=20)#fontsize,设置字体大小

#2.4 图像保存
plt.savefig("./test.png")

#2.5添加图例
axes[0].legend(loc="center")
axes[1].legend(loc="center")
#表2会对loc的参数取值进行介绍

#3.图像显示
plt.show()

标签:axes,20,实线,ticks,label,plt,绘图,matplotlib2,linestyle
From: https://www.cnblogs.com/yangzilaing/p/17109734.html

相关文章

  • 基于遗传算法的地图四色原理绘图上色的Python代码
      本文介绍利用Python语言,实现基于遗传算法(GA)的地图四色原理着色操作。1任务需求  首先,我们来明确一下本文所需实现的需求。  现有一个由多个小图斑组成的矢量图......
  • MFC中绘图类总结
    绘图一般在视图类的(屏幕/打印机)绘图消息响应函数OnDraw中进行,例如:voidCTestView::OnDraw(CDC*/*pDC*/){        CTestDoc*pDoc=GetDocument();     ......
  • pyplot绘图常用代码
    https://zhuanlan.zhihu.com/p/366489354importmatplotlib.pyplotaspltx=[iforiinrange(10)]y=[random.random()for_inrange(10)]y1=[random.random......
  • 纯 CSS 绘图
    纯CSS绘图当我们需要三角形、圆形、半圆等简单图形时,用css直接绘制会比加载图片更好,通常可以使用border属性方法来绘制,目前主流的浏览器还可以使用clip-path属性......
  • Python 三维绘图问题
    提问: 各位,本人刚刚才接触Python。现在有个问题在于,我有一组数据想要去将变成三维曲面图,网上教程多是曲面上的点Z用XY来表示,但是我这个数据是单纯的测量数据,并没有什么公......
  • 个人写的双缓冲 CDC绘图函数
    voidCDRImageStatic::ShowImg(CDC*dc,CRectrect){CBitmapbmp;bmp.CreateCompatibleBitmap(dc,m_nWidth,m_nHeight);CBitmap*pOld=NULL;CDCmemDC;memDC.......
  • HTML5绘图基础_09_绘制弧线详解
    ​​CanvasRenderingContext2D​​​​.arc()​​ 是Canvas2DAPI绘制圆弧路径的方法。圆弧路径的圆心在 (x,y) 位置,半径为 r ,根据anticlockwise (默认为顺时针)指......
  • 在线UML绘图完全免费!
    几个月前,我介绍了​​VisualParadigmCommunityEdition​​​(​​社区版​​​)。它是一个完全免费的桌面​​UML建模工具​​。今天,我想介绍一种基于云技术的​​Visua......
  • C# Windows 窗体的.Net 框架绘图技术
     当编写一个典型的Windows窗体​​程序​​时,窗体和控件的绘制、效果等操作是不需要特别加以考虑的。这是为什么呢?因为通过使用​​.Net​​本文针对那些Windows窗......
  • Qt绘图之Paint系统
    Qt不管在屏幕上,还是打印设备上都使用同一套API进行绘画。主要涉及到QPainter,QPaintDevice和QPaintEngine这三个类。QPainter用于执行绘制操作QPaintDevice描述了一个二维空......