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) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |