PyQtGraph是一个建立在PyQt/PySide之上的Python数据可视化图形界面库,其性能强、速度快,能够胜任大部分交互式的2D、3D图形绘制,可以搞定数据科学领域大量的数据可视化工作。...使用图形参数 # coding:utf-8 # 作者:州的先生 # 博客:https://zmister.com from pyqtgraph.Qt import QtGui, QtCore import...散点图、坐标轴标签和刻度 # coding:utf-8 # 作者:州的先生 # 博客:https://zmister.com from pyqtgraph.Qt import QtGui, QtCore...# 添加一个图形 p5 = win.addPlot(title="散点图、坐标轴标签、坐标轴刻度") x = np.random.normal(size=1000) * 1e-5 # 生成X轴数据 y...p5.setLabel('bottom', "Y Axis", units='s') #设置纵坐标轴标签文本 p5.setLogMode(x=True, y=False) # 设置坐标轴刻度模式 if
,也称为轴域区,或者绘图区; Axis:指坐标系中的垂直轴与水平轴,包含轴的长度大小(图中轴长为 7)、轴标签(指 x 轴,y轴)和刻度标签; Artist:您在画布上看到的所有元素都属于 Artist...import pyplot as plt #创建图形对象 fig = plt.figure() 我们使用 add_axes() 将 axes 轴域添加到画布中。...通过调用 add_axes() 方法能够将 axes 对象添加到画布中,该方法用来生成一个 axes 轴域对象,对象的位置由参数rect决定。...在本节,我们将学习如何在同一画布上绘制多个子图。...在蜘蛛图中,一个变量相对于另一个变量的显著性是清晰可见的。这里需要使用 Matplotlib 来进行画图,首先设置两个数组:labels 和 stats。他们分别保存了这些属性的名称和属性值。
导入的包名仍然是“mpl_toolkits.mplot3d”,并且可以在plt.subplots()函数中指定一个projection="3d"参数来将轴转换成3D。...列表x和y分别包含水平和垂直坐标数据,并使用plt.plot()函数连接它们以绘制线条。添加标题、坐标轴标签和刻度标签可以提高图表可阅读性。...通过添加xticks()和yticks()函数、并使用值范围(0.5- len + 0.5)调整刻度的位置。在此之上还展示了如何添加图例标签(使用plt.colorbar()函数来调用详细颜色条)。...使用’np.meshgrid()'生成相应的网格,并在采用sin()函数计算定义的图形Z值,最后绘制三维曲面并为其添加轴标签。...然后简单地在单独的子图中进行x和y轴标签的设置,然后添加一个总标题,以构建命令自己独立的图表。
的使用 pip install pyqtgraph#显示波形的界面 pip install PyQt5#界面要Qt的支持 pyqtgraph是Python平台上一种功能强大的2D/3D绘图库,相对于matplotlib...数据可视化:自定义坐标轴信息 方法1 其原则是,直接使用pyqtgraph库提供的轴项类AxisItem,定义它的一个实例对象,调用该类的setTicks函数设置横坐标轴的字符信息,代码如下: ?...代码简要说明如下: 1、第13-29行,以pyqtgraph库提供的AxisItem作为基类自定义了一个轴项类MyStringAxis,在类中重定义tickStrings函数,实现横坐标刻度的的字符信息显示...对于多条曲线的快速绘制方式,有两种方案可供选择,一种是将多条曲线合并显示在一幅绘图区域上,另一种方案是将多条曲线显示在不同的绘图区域上,对于这两种绘制方案,下面通过例子来演示在Python语言中使用pyqtgraph...行,设置绘图区域的网格及坐标轴范围属性 7、第31行,使用app.exec_()函数运行实例,进入消息循环 方案2:将多条曲线显示在不同的绘图区域 程序的运行效果如下图所示: ?
3.3 选择恰当的图表 在了解图表受众和要呈现的数据特征后,需要选择恰当的图表呈现目标用户需要的数据。如何选择图表准确地展示数据呢?首先,要理解每种图表的使用场景、突显的数据特征以及使用的范围。...所以,我们也需要了解坐标轴的使用方式,涉及X轴、Y轴标签、刻度数值和数值区间段数等。 ?...图06 X、Y轴坐标刻度 由于空间的限制,轴标签一般情况下不适合过长的文案,可以适当限制标签文案显示的个数,或改变显示的角度(一般在0~90度之间)以节省空间,但需要遵循从左到右的阅读习惯。...对于坐标轴上刻度数值,一般初始值定为0,避免产生误导。最大刻度值取值要恰当,确保数据序列占据2/3图表区以上。同时,对数据区间的划分建议在4、5段,不宜过多或过少。...7.3 慎用3D立体图形 3D立体图形的透视容易分散用户的注意力,对数据特征造成掩盖。从图表墨水比原则来说,3D立体图形会增加信息噪音,降低墨水比。
3.3 选择恰当的图表 在了解图表受众和要呈现的数据特征后,需要选择恰当的图表呈现目标用户需要的数据。如何选择图表准确地展示数据呢?首先,要理解每种图表的使用场景、突显的数据特征以及使用的范围。...所以,我们也需要了解坐标轴的使用方式,涉及X轴、Y轴标签、刻度数值和数值区间段数等。...图06 X、Y轴坐标刻度 由于空间的限制,轴标签一般情况下不适合过长的文案,可以适当限制标签文案显示的个数,或改变显示的角度(一般在0~90度之间)以节省空间,但需要遵循从左到右的阅读习惯。...对于坐标轴上刻度数值,一般初始值定为0,避免产生误导。最大刻度值取值要恰当,确保数据序列占据2/3图表区以上。同时,对数据区间的划分建议在4、5段,不宜过多或过少。...7.3 慎用3D立体图形 3D立体图形的透视容易分散用户的注意力,对数据特征造成掩盖。从图表墨水比原则来说,3D立体图形会增加信息噪音,降低墨水比。
轴域也拥有辅助方法,用于设置和装饰 x 和 y 轴的刻度、刻度标签和轴标签: xtext = ax.set_xlabel('my xdata') # returns a Text instance ytext...图形的默认坐标系统简单地以像素(这通常不是你想要的)为单位,但你可以通过设置你添加到图中的艺术家的transform属性来控制它。...实例 yaxis matplotlib.axis.YAxis实例 轴容器 matplotlib.axis.Axis实例处理刻度线,网格线,刻度标签和轴标签的绘制。...Tick包含刻度和网格线的实例,以及上侧和下侧刻度的标签实例。 每个都可以直接作为Tick的属性访问。此外,也有用于确定上标签和刻度是否对应x轴,以及右标签和刻度是否对应y轴的布尔变量。...tick1On 确定是否绘制主刻度线的布尔值 tick2On 确定是否绘制次刻度线的布尔值 label1On 确定是否绘制主刻度标签的布尔值 label2On 确定是否绘制次刻度标签的布尔值 这里是个例子
接下来,我们创建一个K线图的图形绘制类,通过PyQt和PyQtGraph的绘图组件绘制K线图。...,其接收一个数组其中包含时间、开盘价、收盘价、最低价和最高价的列表,我们只需要将其添加到PyQtGraph的绘图方法中,就可以生成具体的K线图图形。...stringaxis.setTicks([axis_5, axis_4, axis_3, axis_2, axis_1, self.axis_dict.items()]) # 设置X轴刻度值...self.k_plt.setYRange(y_min,y_max) self.k_plt.setLabel(axis='left', text='指数') # 设置Y轴标签...self.k_plt.setLabel(axis='bottom', text='日期') # 设置X轴标签 self.label = pg.TextItem()
图可以有其他的东西,比如suptitle,它是图的中心标题。你也可以将图例(legend)和颜色条(color bar)添加到图中。 在图上,你可以添加坐标轴(Axes)。...坐标轴是plot()和scatter()等函数绘制的区域,可以包含与其相关的刻度(tick)、标签(label)等。图可以包含多个坐标轴。 你可能会疑惑了?...每个坐标轴都有一个x轴和一个y轴(这句话有点难以理解,主要是因为在英语中Axes和Axis都翻译为轴,其实Axes可以理解为子图),它们包含刻度,刻度包含主要和次要的刻度线和刻度标签。...如果你要绘一个特别的坐标轴,还有坐标轴标签、标题和图例,以及坐标轴比例和网格线要考虑。 子图 这个是matplotlib中最不容易理解的。首先是我们为什么需要它?...因为有时候我们需要将不同的数据视图并排进行比较。为此,Matplotlib引入了子图的概念:可以在一个图中存在多组较小的坐标轴。
不同于网上其他文章或代码讲解,今天我们集中只关注实时绘制数据功能的实现。为了更精准学习该 pyqtgraph 模块功能,我们将参考官方给出的实例来边学边练。...具备更好的图像交互、3D展示等 1.2 pyqtgraph 安装 一般配合 PyQt5 使用,这些都要预先安装好,我们这里只提 pyqtgraph 相关: pip install pyqtgraph...2.1.3 写成 PlotWidget 形式 总结下模式 1 的原理:x 坐标数据不变化,对应的 y 数据设置个左移变换的函数,计时器信号绑定该左移数据的函数,把 y 数据能实时设置到图中即可。...实例 1 中绘制图的写法比较少见,通常应用是通过 pyqtgraph.PlotWidget.plot() 来实现在控件中作图再添加到 GUI 控件中,所以我们将采用 PlotWidget 的写法来实现模式...() 函数随着 y 的变化同步进行设置,产生 x 轴同步移动的效果。
7.2 自定义坐标轴刻度 除了坐标轴的范围,有时候我们也需要更改刻度的显示,比如让刻度间隔更大或更小,或是使用特定的数字或文本作为刻度标记。...framealpha=0.5:将图例的背景设置为半透明,值越接近 1,透明度越低。 拓展: 通过调节 framealpha,我们可以创建更柔和的图例,避免它遮挡住重要的图表内容。...add_artist():将第一个图例添加到当前的轴 (axes) 上,这样第二个图例可以独立添加。 拓展: 多个图例的使用有助于在一张图表中展示大量数据时,避免混淆,保持数据的清晰和可读性。...可以通过 add_artist() 方法将任意自定义的图例或其他元素添加到图表中。 7.4.3 动态更新图例 有时,在动态图表中,数据是动态变化的,图例可能需要根据数据的变化实时更新。...set_zlabel():设置 Z 轴标签。 拓展: 3D 图表适用于展示多维度数据。你可以使用 plot_surface() 来绘制 3D 曲面,或者 scatter() 来绘制 3D 散点图。
xticks和yticks: 为x,y轴的主刻度和次刻度设置颜色、大小、方向,以及标签大小。...就是隔几个刻度才显示一个标签文本 ymajorLocator = MultipleLocator(3) #定义纵向主刻度标签的刻度差为3的倍数。...就是隔几个刻度才显示一个标签文本 ax1.xaxis.set_major_locator(xmajorLocator) #x轴 应用定义的横向主刻度格式。...如果不应用将采用默认刻度格式 ax1.yaxis.set_major_locator(ymajorLocator) #y轴 应用定义的纵向主刻度格式。...如果不应用将采用默认刻度格式 ax1.xaxis.grid(True, which='major') #x坐标轴的网格使用定义的主刻度格式 ax1.yaxis.grid(True, which
请注意默认情况下,legend 会忽略所有不带标签的元素。 散点大小的图例 某些情况下默认的图例不足以满足特定的可视化需求。例如,你在使用散点的大小来标记数据的某个特征,然后希望创建一个相应的图例。...每个axes对象都有着属性xaxis和yaxis,表示 x 和 y 轴,其中包含着所有的属性用来指代轴的线、刻度和标签。 主要的和次要的刻度 在每个坐标轴上,都有主要的刻度和次要的刻度概念。...我们看到每个主要刻度显示了一个大的标志和标签,而每个次要刻度显示了一个小的刻度标志没有标签。 这些刻度属性,位置和标签,都可以使用每个轴的formatter和locator对象进行个性化设置。...注意上图中我们去除了 x 轴的标签(但是保留了刻度或网格线),y 轴的刻度和标签都被去除了。图表中没有刻度和标签在很多情况下很有用,例如,当你希望展示一个图像的网格。...注意上图中每张图像都有它自己的 axes,我们将每一个 axes 的 locator 都设置为 null 因为这些刻度值(像素值)在这里并没有任何实际意义。
每个axes对象都有着属性xaxis和yaxis,表示 x 和 y 轴,其中包含着所有的属性用来指代轴的线、刻度和标签。 主要的和次要的刻度 在每个坐标轴上,都有主要的刻度和次要的刻度概念。...这些刻度属性,位置和标签,都可以使用每个轴的formatter和locator对象进行个性化设置。...(plt.NullLocator()) ax.xaxis.set_major_formatter(plt.NullFormatter()) 注意上图中我们去除了 x 轴的标签(但是保留了刻度或网格线)...,y 轴的刻度和标签都被去除了。...axes,我们将每一个 axes 的 locator 都设置为 null 因为这些刻度值(像素值)在这里并没有任何实际意义。
每个axes对象都有着属性xaxis和yaxis,表示 x 和 y 轴,其中包含着所有的属性用来指代轴的线、刻度和标签。 主要的和次要的刻度 在每个坐标轴上,都有主要的刻度和次要的刻度概念。...这些刻度属性,位置和标签,都可以使用每个轴的formatter和locator对象进行个性化设置。...(plt.NullLocator()) ax.xaxis.set_major_formatter(plt.NullFormatter()) 注意上图中我们去除了 x 轴的标签(但是保留了刻度或网格线...),y 轴的刻度和标签都被去除了。...axes,我们将每一个 axes 的 locator 都设置为 null 因为这些刻度值(像素值)在这里并没有任何实际意义。
每个 axes 对象都有着属性xaxis和yaxis,表示 x 和 y 轴,其中包含着所有的属性用来指代轴的线、刻度和标签。 (1)主要的和次要的刻度 在每个坐标轴上,都有主要的刻度和次要的刻度概念。...这些刻度属性,位置和标签,都可以使用每个轴的 formatter 和 locator 对象进行个性化设置。...x 轴的标签(但是保留了刻度或网格线),y 轴的刻度和标签都被去除了。...axes,我们将每一个 axes 的 locator 都设置为 null 因为这些刻度值(像素值)在这里并没有任何实际意义。...刻度数量最大值 AutoLocator 默认的刻度数量最大值 AutoMinorLocator 默认的次要刻度 Formatter 对象 描述 NullFormatter 无标签 IndexFormatter
领取专属 10元无门槛券
手把手带您无忧上云