当我们的绘图语句非常多的时候,代码会显得繁琐,我们需要一种方式来进行循环绘图,但是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()
这段代码可以绘制出经度和纬度数据对应的散点图,并设置坐标轴范围和标签。