添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
捣蛋的硬盘  ·  WinHttpHandler 类 ...·  8 月前    · 
细心的毛巾  ·  html转pdf ...·  1 年前    · 
重感情的脸盆  ·  EXCEL ...·  1 年前    · 
豁达的红烧肉  ·  tsql - How do I use ...·  1 年前    · 

一、matplotlib.pyplot绘制子图的基本方法

首先我们来了解一下,matplotlib中绘图需要使用到的元素
在这里插入图片描述
首先是figure图片对象,然后是图片对象包含的子图对象axes,再然后是每个子图对象的轴Axis对象。

我们要进行子图的绘制,首先我们要创建图片对象,然后再创建子图对象,在子图对象上进行绘制,可以使用多种方法。

plt.figure()
plt.plot([1, 2, 3])

在这里插入图片描述
我们使用plt.figure()创建了一个图片对象,但是没有给这个图片对象指定引用,这里plt.plot()会自动在已经当前正在使用的figure上进行绘制。效果就如上图所示。

第二种:
创建子图对象然后进行绘制。

fig = plt.figure()
ax1 = plt.subplot(121)
ax2 = plt.subplot(122)
ax1.plot([1,2,3])
ax2.scatter(1,1)

在这里插入图片描述
第三种:
同时创建figure和子图对象

fig, axes = plt.subplots(2, 2)
axes[0, 1].plot([1, 2, 3])
axes[1, 1].plot([1, 2, 3])

在这里插入图片描述
这里的axes是一个numpy的高维数组ndarray
在这里插入图片描述
我们不能直接对axes进行操作进行绘图,我们只能访问其中一个元素获得一个ax后然后再进行绘图。

二、使用for循环进行绘图的一种方法

当我们的绘图语句非常多的时候,代码会显得繁琐,我们需要一种方式来进行循环绘图,但是axes是个ndarray这就限制了我们使用for循环直接来迭代这个高维数组,这样的思路是行不通的,那我们换一个思路。既然axes的类型是ndarry,那么axes肯定有shape属性,可以访问axes的行和列数,这正好和我们指定子图的位置一致。

我们使用一个list,来保存axes中的每一个子图对象,这样我们接下来使用时就方便迭代了

fig, axes = plt.subplots(3, 3)
axes_list = []
for i in range(axes.shape[0]):
    for j in range(axes.shape[1]):
        axes_list.append(axes[i, j])
print(axes_list)
fig, axes = plt.subplots(3, 3)
axes_list = []
for i in range(axes.shape[0]):
    for j in range(axes.shape[1]):
        axes_list.append(axes[i, j])
for ax in axes_list:
    ax.plot([1, 2, 3])

在这里插入图片描述
当然大家也可以自行修改具体的绘图语句,来达到自己的目的。这里仅提供一个思路。

matplotlib.pyplot使用for循环进行多个子图Subplot的绘制目录matplotlib.pyplot使用for循环进行多个子图Subplot的绘制一、matplotlib.pyplot绘制子图的基本方法二、使用for循环进行绘图的一种方法一、matplotlib.pyplot绘制子图的基本方法首先我们来了解一下,matplotlib中绘图需要使用到的元素首先是figure图片对象,然后是图片对象包含的子图对象axes,再然后是每个子图对象的轴Axis对象。我们要进行子图的绘制, 如果要实现for循环绘制图形的话,双重for循环自然必不可少。 在我的上篇博客:《你真的懂for循环吗?》中介绍双重for循环时,已经将双重for循环的特点:“外层循环控制行,内层循环控制列” 解释的很清楚,并且就是用的矩形做例子,这里就不多加赘述。当然合理把控内层循环变量j和外层循环变量i之间的关系以便控制内层循环的次数,也是关键! 等腰三角形 正所谓不会写注释的程序猿不是一个合格的程序猿,解释都在注释里 代码如下: * @author guqueyue * @Date 2020/3/4 * 使用*号打印等腰三角形
matplotlib下,一个Figure对象可以包含多个子图(Axes),可以使用subplot()快速绘制,其调用形式如下: subplot(numRows, numCols, plotNum) 图表的整个绘图区域被分成numRows行和numCols列,plotNum参数指定创建的Axes对象所在的区域,如何理解呢? 如果numRows = 3,numCols = 2,那整个绘制图表样式为3X2的图片区域,用坐标表示为(1,1),(1,2),(1,3),(2,1),(2,2),(2,3)。这时,当plotNum = 1时,表示的坐标为(1,3),即第一行第一列的子图; import
for topic_id,topic in enumerate(lda.components_): topword = pd.DataFrame({"word":[tf_feature_names[i] for i in topic.argsort()[:-n_top_words - 1:-1]], "componets":topic[topic.argsort()[:-n_top_words - 1:-1]]}) topword.s.
在一次任务中,老师给出了几个公式,其中含有三个自变量λ、μ、c。因为要观察最终的结果受这三个变量的影响,所以采用如下的展示方式: c取1-6,分别对应6张小图;(图片个数表示此维度) 每张小图中λ取0-100,观察平均队列长度变化;(横坐标表示此维度) 每张小图中不同的曲线表示不同的μ取值;(曲线个数表示此维度) 效果如下: 由于之前并不熟悉python画图的格式等,特写此文记录过程。
点击上方“Python共享之家”,进行关注回复“资源”即可获赠Python学习资料今日鸡汤与君离别意,同是宦游人。大家好,我是皮皮。一、前言前几天在Python白银交流群【在 途中要勤奋的熏肉肉】问了一道Python可视化处理的问题,如下图所示。原始代码,如下所示:importpandasaspd importnumpyasnp importmatplotl...
https://jakevdp.github.io/PythonDataScienceHandbook/04.08-multiple-subplots.html plt.subplots() ## axes are in a two-dimensional array, indexed by [row, col] fig, ax = plt.subplots(2, 3, sharex='col'...
# 经度和纬度数据 longitude = [116.4074, 121.4737, 113.2644, 113.5575, 104.0657] latitude = [39.9042, 31.2304, 23.1291, 22.3964, 30.6595] # 绘制散点图 plt.scatter(longitude, latitude) # 设置坐标轴范围 plt.xlim(100, 130) plt.ylim(20, 50) # 设置坐标轴标签 plt.xlabel('Longitude') plt.ylabel('Latitude') # 显示图形 plt.show() 这段代码可以绘制出经度和纬度数据对应的散点图,并设置坐标轴范围和标签。