繁体   English   中英

在 pandas.DataFrame.plot() 中格式化刻度标签而不导入 matplotlib

[英]Format tick labels in a pandas.DataFrame.plot() without importing matplotlib

是否可以在不导入matplotlib.ticker库的情况下格式化pandas.DataFrame.plot()中的刻度标签?

我开始意识到pandas有许多我不知道的本机函数,我喜欢尽可能使用它们——如果只是为了简化我的代码。 是的, pandas无论如何都依赖于matplotlib ,但我想知道在不直接调用matplotlib函数的情况下我可以在多大程度上设置绘图样式。

例如,我可以在没有matplotlib.ticker.Percentformatter()的情况下将此图表上的刻度标签更改为百分比吗?

import pandas as pd
import numpy as np
import matplotlib as plt

df = pd.DataFrame(columns=["value"], data=np.random.rand(5))
ax = df.plot.barh()
ax.xaxis.set_major_formatter(plt.ticker.PercentFormatter(1))
plt.show()

酒吧锅

您可以使用set_major_formatter将自定义 function 设置为字符串格式化程序。

例如:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

df = pd.DataFrame(columns=["value"], data=np.random.rand(5))
ax = df.plot.barh()
func = lambda x, pos: f"{int(x*100)}%"
ax.xaxis.set_major_formatter(func)
plt.show()

数字

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM