问题描述
我想将当前的x轴标签替换为如下所示的标签:
标签= [“十月”,“十一月”,“十二月”,“一月”,“二月”,“三月”,“四月”,“五月”,“六月”,“七月”]
df.groupby(pd.Grouper(key='Date',freq='1M')).sum().plot.bar(legend=False)
我得到的输出如下所示,在这里您可以看到x轴带有标签作为日期。
解决方法
首先生成您的 groupby 结果:
PDOException: PDO::__construct(): php_network_getaddresses: getaddrinfo failed: Name or service not known in /var/www/html/.
/vendor/robmorgan/phinx/src/Phinx/Db/Adapter/PdoAdapter.php:80
Stack trace:
#0 /var/www/html/ /vendor/robmorgan/phinx/src/Phinx/Db/Adapter/PdoAdapter.php(80): PDO->__construct()
然后将索引从“完整”日期更改为缩写的月份名称:
paths:
migrations: '%%PHINX_CONFIG_DIR%%/db/migrations'
seeds: '%%PHINX_CONFIG_DIR%%/db/seeds'
environments:
default_migration_table: phinxlog
default_environment: development
production:
adapter: mysql
host: service_mysql
name: mydb
user: root
pass: '123456'
port: 3306
charset: utf8
development:
adapter: mysql
host: service_mysql
name: my_database
user: root
pass: '123456'
port: 3306
charset: utf8
testing:
adapter: mysql
host: localhost
name: testing_db
user: root
pass: ''
port: 3306
charset: utf8
version_order: creation
最后画出你的身影:
tbl = df.groupby(pd.Grouper(key='Date',freq='M')).sum()
请注意结尾的tbl.set_index(tbl.index.month_name().rename('Month').map(lambda tt: tt[:3]),inplace=True)
,以防止其他有关
创建的对象的类型。
您可以看看Date formatters。存在一个DateFormatter类,该类接受一个strftime
格式字符串的fmt
参数。
Here是strftime()
和strptime()
格式代码的引用。
要将格式设置为月份的缩写名称,您需要使用%b
。
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
ax = df.groupby(pd.Grouper(key='Date',freq='1M')).sum().plot.bar(legend=False)
ax.xaxis.set_major_formatter(mdates.DateFormatter(fmt='%b'))
plt.show()