python matplotlib 用相同的参数绘制许多子图

标签 python matplotlib plot

我的情节如下

fig = plt.figure(figsize=(7,3))                                               
ax1 = fig.add_subplot(1,3,1)                                                  
ax2 = fig.add_subplot(1,3,2)                                                  
ax3 = fig.add_subplot(1,3,3)
ax1.scatter(x11, y11, s=50, alpha=0.5, c='orange', marker='o')  
ax1.scatter(x12, y12, s=50, alpha=0.5, c='blue', marker='s') 
ax2.scatter(x21, y21, s=50, alpha=0.5, c='orange', marker='o')  
ax2.scatter(x22, y22, s=50, alpha=0.5, c='blue', marker='s')
ax3.scatter(x31, y31, s=50, alpha=0.5, c='orange', marker='o')  
ax3.scatter(x32, y32, s=50, alpha=0.5, c='blue', marker='s')

一遍又一遍地设置s=50, alpha=0.5似乎有点多余。有没有办法一次性设置它们?另外对于颜色和标记,有没有办法将它们写在一个地方以便更容易修改?

最佳答案

你可以这样做:

fig = plt.figure(figsize=(7,3))                                               
ax1 = fig.add_subplot(1,3,1)                                                  
ax2 = fig.add_subplot(1,3,2)                                                  
ax3 = fig.add_subplot(1,3,3)

xs = [x11, x12, x21, x22, x31, x32]
ys = [y11, y12, y21, y22, y31, y32]
cs = ['orange', 'blue']
ms = 'os'

for j in xrange(len(xs)):
    ax1.scatter(xs[j], ys[j], s=50, alpha=0.5, c=cs[j % 2], marker=ms[j % 2])

关于python matplotlib 用相同的参数绘制许多子图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38753766/

相关文章:

python - 在 Python 中对日期时间进行计算

python - jupyter notebook FileNotFoundError - 查找错误的 anaconda 目录

python - Gensim Doc2vec Finalize_vocab 内存错误

python - 获取给定图形的标题

image - Matlab毒药和数字

python - 将 CSV 直接下载到 Python CSV 解析器中

python - Matplotlib 使刻度标签字体变小

python - 如何用 distplot 绘制两个图例

r - 在 for 循环中以 pdf 格式保存 2-plot 图

R plot 按频率改变线条粗细