首页 新闻 会员 周边

Python初学者,使用matplotlib工具画散点图,起始点位和结束点位显示不全,还望大佬看看什么情况

0
悬赏园豆:50 [待解决问题]

import matplotlib.pyplot as plt
from matplotlib.pyplot import MultipleLocator
from matplotlib import patheffects
plt.rcParams['font.sans-serif'] = ['SimHei'] #定义使其正常显示中文字体黑体
plt.rcParams['axes.unicode_minus'] = False #用来正常显示表示负号
plt.rcParams['xtick.direction'] = 'in'#将x周的刻度线方向设置向内
plt.rcParams['ytick.direction'] = 'in'#将y轴的刻度方向设置向内

x = [[2000], [2001], [2002], [2003], [2004], [2005], [2006], [2007], [2008], [2009],[2010],[2011],[2012],[2013],[2014],[2015],[2016],[2017],[2018]]

y = [[139.], [139.], [129.], [146.], [144.], [137.], [130.], [116.], [131.], [128.],[141.],[115.],[133.],[122.],[120.],[118.],[107.],[102.],[85.]]
x = 1:0.05:10; scatter(x,cos(x));

plt.plot(figsize=(5,3))

plt.figure(figsize=(5,3))
plt.scatter(x, y, label = 'scatter',c='k') #画散点图
plt.xticks(range(2000,2019,2),rotation=30)
plt.xlabel('年份', fontsize=10)
plt.ylabel('事故数/起', fontsize=10)
x_major_locator = MultipleLocator(2)

把x轴的刻度间隔设置为2,并存在变量里

y_major_locator = MultipleLocator(20)

把y轴的刻度间隔设置为20,并存在变量里

ax = plt.gca()

ax为两条坐标轴的实例

ax.xaxis.set_major_locator(x_major_locator)

把x轴的主刻度设置为1的倍数

ax.yaxis.set_major_locator(y_major_locator)

把y轴的主刻度设置为10的倍数

plt.xlim(2000, 2018)

把x轴的刻度范围设置为-0.5到11,因为0.5不满一个刻度间隔,所以数字不会显示出来,但是能看到一点空白

plt.ylim(80, 160)

把y轴的刻度范围设置为80到150,

plt.tick_params(axis='both', which='major',labelsize=14)
plt.tight_layout() # 解决图片显示不全问题,一行代码搞定
plt.show()

plt.savefig("散点图.png", dpi=800)

plt.savefig("散点图a.tif", dpi=800)

plt.savefig("散点图a.jpg", dpi=800)

plt.savefig("新散点图.png", dpi=800)

plt.close()

问题补充:

九叔达人秀的主页 九叔达人秀 | 初学一级 | 园豆:152
提问于:2020-05-21 11:49
< >
分享
所有回答(1)
1

把x坐标的范围设置为1999 到 2019

会长 | 园豆:12401 (专家六级) | 2020-05-21 13:40
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册