python绘图设置x轴年份

时间: 2023-07-07 13:31:42 浏览: 123
要在Python中绘制带有年份的x轴,可以使用matplotlib库。示例代码如下: ``` python import matplotlib.pyplot as plt import numpy as np # 生成数据 x = np.array(['2010', '2011', '2012', '2013', '2014', '2015', '2016', '2017', '2018', '2019']) y = np.array([5, 8, 6, 9, 12, 14, 16, 20, 23, 26]) # 绘制图形 fig, ax = plt.subplots() ax.plot(x, y) # 设置x轴标签 ax.set_xticks(x) ax.set_xticklabels(x, rotation=45) # 显示图形 plt.show() ``` 在这个例子中,我们使用了一个包含年份的字符串数组作为x轴。使用`set_xticks`和`set_xticklabels`方法设置x轴标签,并使用`rotation`参数旋转标签,以便更好地显示。
相关问题

sns.barplot的x轴是年份,但是没有按年份排序

要按照年份排序,可以先将年份转换为 datetime 类型,并将其设置为 DataFrame 的索引。然后,使用 sort_index() 方法按照索引排序。最后再进行绘图即可。 下面是一个示例代码: ```python import pandas as pd import seaborn as sns # 创建示例数据 data = {'year': [2018, 2020, 2019, 2017], 'value': [10, 30, 20, 15]} df = pd.DataFrame(data) # 将 year 转换为 datetime 类型并设置为索引 df['year'] = pd.to_datetime(df['year'], format='%Y') df.set_index('year', inplace=True) # 按照索引排序 df.sort_index(inplace=True) # 绘制柱状图 sns.barplot(x=df.index.year, y='value', data=df) ``` 这里的 x 轴使用了 `df.index.year`,它表示索引的年份部分。这样可以按照年份排序,并正确地显示在 x 轴上。

x轴为时间,y轴为数字,画图

当x轴为时间,y轴为数字时,您可以使用Bokeh库中的`DatetimeAxis`来处理时间轴。以下是一个示例,展示如何绘制x轴为时间的折线图: ```python from bokeh.plotting import figure, show from bokeh.models import DatetimeTickFormatter from datetime import datetime # 示例数据 x = [datetime(2022, 1, 1), datetime(2022, 2, 1), datetime(2022, 3, 1), datetime(2022, 4, 1)] y = [4, 6, 2, 8] # 创建一个绘图对象 fig = figure(x_axis_type="datetime") # 绘制折线图 fig.line(x, y) # 格式化x轴的时间显示 fig.xaxis.formatter = DatetimeTickFormatter(months=["%b %Y"]) # 显示图形 show(fig) ``` 在这个例子中,我们使用`datetime`模块创建了一个时间序列列表`x`,并将其作为x轴数据传递给`line()`函数。通过将`x_axis_type="datetime"`传递给`figure()`函数,我们告诉Bokeh将x轴解释为时间轴。 为了格式化x轴的时间显示,我们使用`DatetimeTickFormatter`模块来指定显示的时间格式。在这个例子中,我们将月份和年份的格式设置为"%b %Y",即三个字母的月份缩写和四位数的年份。 最后,使用`show()`函数显示绘图。 您可以根据自己的需求修改和调整代码,例如设置y轴数据、添加标题、设置坐标轴标签等。

相关推荐

# 统计性描述 print(df1.describe()) # 将日期转换为数字 df1['date'] = df1['date'].apply(lambda x: date2num(pd.to_datetime(x))) # 获取日期数据的最小值和最大值 date_min = mdates.date2num(df1['date'].min()) date_max = mdates.date2num(df1['date'].max()) # 绘制K线图 fig, ax = plt.subplots() ax.plot(df1['date'], df1['close'], label='Close') ax.plot(df1['date'], df1['open'], label='Open') ax.plot(df1['date'], df1['high'], label='High') ax.plot(df1['date'], df1['low'], label='Low') ax.legend() ax.set_xlabel('Date') ax.set_ylabel('Price') ax.set_title('坤彩科技') # 设置横轴的显示格式和间隔 #from matplotlib.dates import MonthLocator, DateFormatter #ax.xaxis.set_major_locator(MonthLocator()) # 设置横坐标主刻度为月份 #ax.xaxis.set_major_formatter(DateFormatter('%Y-%m')) # 设置刻度标签的格式为"年-月",可以根据需要进行修改 ax.xaxis.set_major_locator(YearLocator(base=1)) # 设置横坐标主刻度为年份 ax.xaxis.set_major_formatter(DateFormatter('%Y')) # 设置刻度标签的格式为"年" ax.xaxis.set_minor_locator(MonthLocator(bymonth=(3, 6, 9, 12))) # 设置横坐标次刻度为季度 ax.tick_params(axis='x', which='minor', labelsize=8, labelrotation=45) # 设置次刻度标签的大小和旋转角度 font = fm.FontProperties(size=10, style='italic') # 设置斜体字体属性 plt.xticks(fontproperties=font) # 设置刻度标签为斜体 plt.savefig('a1.jpg') # 保存图表 plt.show() # 显示图表 写一个循环,相同上述绘图,从1到14

最新推荐

recommend-type

Python绘图Matplotlib之坐标轴及刻度总结

主要介绍了Python绘图Matplotlib之坐标轴及刻度总结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
recommend-type

Python坐标轴操作及设置代码实例

主要介绍了Python坐标轴操作及设置代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
recommend-type

Python设置matplotlib.plot的坐标轴刻度间隔以及刻度范围

主要介绍了Python设置matplotlib.plot的坐标轴刻度间隔以及刻度范围,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
recommend-type

Python利用matplotlib做图中图及次坐标轴的实例

今天小编就为大家分享一篇Python利用matplotlib做图中图及次坐标轴的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
recommend-type

Python读取txt某几列绘图的方法

今天小编就为大家分享一篇Python读取txt某几列绘图的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

MySQL数据库性能提升秘籍:揭秘性能下降幕后真凶及解决策略

![MySQL数据库性能提升秘籍:揭秘性能下降幕后真凶及解决策略](http://xiaoyuge.work/explain-sql/index/2.png) # 1. MySQL数据库性能优化概述** MySQL数据库性能优化是一项至关重要的任务,可以显著提高应用程序的响应时间和整体用户体验。优化涉及识别和解决影响数据库性能的因素,包括硬件资源瓶颈、软件配置不当和数据库设计缺陷。通过采取适当的优化策略,可以显著提升数据库性能,满足业务需求并提高用户满意度。 # 2. MySQL数据库性能下降的幕后真凶 ### 2.1 硬件资源瓶颈 #### 2.1.1 CPU利用率过高 **症状:
recommend-type

如何在unity创建按钮

在 Unity 中创建按钮的步骤如下: 1. 在 Unity 中创建一个 UI Canvas,选择 GameObject -> UI -> Canvas。 2. 在 Canvas 中创建一个按钮,选择 GameObject -> UI -> Button。 3. 在场景视图中调整按钮的位置和大小。 4. 在 Inspector 中设置按钮的文本、颜色、字体等属性。 5. 添加按钮的响应事件,选择按钮,在 Inspector 的 On Click () 中添加相应的方法。 这样就可以创建一个按钮了,你可以在游戏中使用它来触发相应的操作。
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。