python用matplotlib作图时,x轴为时间轴,如何让x轴每隔几个点显示一次?

用matplotlib作图时,x轴为时间轴,一共有365个点,如果让所有这些点都显示出来,x轴将变得拥挤不堪。

 

如何让x轴每隔比如20个点显示一次?

见如下代码:(如下代码使用了一份文件是已知的一年内股票收盘价btc_close_2017.json,该资源可在ituring.cn/book/1861中找到。)

import json
from matplotlib import pyplot as plt

filename='btc_close_2017.json'
with open(filename) as f:
    btc_data=json.load(f)
    
#创建5个列表,存储日期和收盘价
dates=[]
months=[]
weeks=[]
weekdays=[]
close=[]

#打印每一天的信息
for btc_dict in btc_data:
    dates.append(btc_dict['date'])
    months.append(int(btc_dict['month']))
    weeks.append(int(btc_dict['week']))
    weekdays.append(btc_dict['weekday'])
    close.append(int(float(btc_dict['close'])))


#创建图表
fig=plt.figure(dpi=128,figsize=(10,6))    
plt.plot(dates,close,c='blue')

#设置图标格式
plt.rcParams['font.sans-serif']=['SimHei'] #指定默认字体
plt.rcParams['axes.unicode_minus']=False  #解决保存图像时符号-显示为方块的2问题

plt.title("收盘价 (RMB)",fontsize=20)
#plt.xlabel=('')
plt.xticks(range(0,365,20)) #共365个值,每20个点显示一次
fig.autofmt_xdate()
#plt.ylabel('', fontsize=16)
plt.tick_params(axis='both',which='major',labelsize=16)

plt.show()

 

  • 13
    点赞
  • 60
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
PythonMatplotlib库提供了丰富的功能,用于绘制各种类型的图表,包括折线图。如果我们想要在Matplotlib中绘制折线图,其中x表示间,可以按照以下步骤进行操作。 首先,我们需要确保已经安装了Matplotlib库。如果没有安装,可以使用pip命令进行安装。 在Python脚本中,我们需要导入Matplotlib库的pyplot模块,并进行相应的配置。下面是导入Matplotlib库并配置的示例代码: ```python import matplotlib.pyplot as plt import matplotlib.dates as mdates ``` 接下来,我们需要准备好数据,包括间和对应的数值。假设我们有一个包含间和数值的列表: ```python dates = ['2020-01-01', '2020-01-02', '2020-01-03', ...] values = [10, 20, 30, ...] ``` 接下来,我们需要将间转换为Matplotlib可以理解的格式。可以使用`mdates.datestr2num()`函数将间字符串转换为Matplotlib的日期格式。示例如下: ```python converted_dates = [mdates.datestr2num(date) for date in dates] ``` 接下来,我们可以使用Matplotlib的`plot()`函数绘制折线图。例子中代码如下: ```python plt.plot(converted_dates, values) ``` 然后,我们可以为绘制的折线图添加标题、标签和网格等元素。比如: ```python plt.title('折线图') plt.xlabel('间') plt.ylabel('数值') plt.grid(True) ``` 最后,我们可以使用`show()`函数显示绘制的折线图: ```python plt.show() ``` 以上是在Matplotlib中绘制折线图,其中x表示间的基本步骤。你可以根据自己的数据和需求进行相应的修改和配置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值