加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

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

发布时间:2020-12-20 11:40:12 所属栏目:Python 来源:网络整理
导读:在gnuplot中,我可以这样做以获得正方形图: set size square matplotlib中的等价物是什么?我试过这个: import matplotlibmatplotlib.use('Agg')import matplotlib.pyplot as pltplt.rcParams['backend'] = 'TkAgg'x = [0,0.2,0.4,0.6,0.8]y = [0,0.5,1,1.5
在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,2.0]
colors = ['k']*len(x)
ax.scatter(x,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,linestyle='--')
fig.savefig('test.png',dpi=600)
plt.close(fig)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读