python matplotlib绘制散点图_python – 如何制作matplotlib散点图方块?

该博客讲述了如何在Python的Matplotlib库中设置图形为正方形。通过使用`subplots()`创建一个figure对象和axes对象,然后调整`set_xlim`和`set_ylim`以确保相同的范围,并使用`set_aspect`函数以数据限制为基础设置纵横比,最终实现了正方形的图形。代码示例中展示了如何绘制散点图并保存为PNG文件。
摘要由CSDN通过智能技术生成

在gnuplot中,我可以这样做以获得正方形图:

set size square

matplotlib中的等价物是什么?我试过这个:

import matplotlib

matplotlib.use('Agg')

import matplotlib.pyplot as plt

plt.rcParams['backend'] = 'TkAgg'

x = [0, 0.2, 0.4, 0.6, 0.8]

y = [0, 0.5, 1, 1.5, 2.0]

colors = ['k']*len(x)

plt.scatter(x, y, c=colors, alpha=0.5)

plt.axes().set_aspect('equal', adjustable='datalim')

plt.xlim((0,2))

plt.ylim((0,2))

plt.grid(b=True, which='major', color='k', linestyle='--')

plt.savefig('{}.png'.format(rsID), dpi=600)

plt.close()

plt.clf()

我得到一个正方形网格,但情节本身不是正方形.如何使x范围从0到2并使图形正方形?

最佳答案 你可以这样做:

import matplotlib.pyplot as plt

fig, ax = plt.subplots()

x = [0, 0.2, 0.4, 0.6, 0.8]

y = [0, 0.5, 1, 1.5, 2.0]

colors = ['k']*len(x)

ax.scatter(x, y, c=colors, alpha=0.5)

ax.set_xlim((0,2))

ax.set_ylim((0,2))

x0,x1 = ax.get_xlim()

y0,y1 = ax.get_ylim()

ax.set_aspect(abs(x1-x0)/abs(y1-y0))

ax.grid(b=True, which='major', color='k', linestyle='--')

fig.savefig('test.png', dpi=600)

plt.close(fig)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值