use*_*230 6 python hex matplotlib
是否有可能以某种方式让X轴上的值在matplotlib中以十六进制表示法打印?对于我的绘图,X轴表示内存地址.
谢谢.
您可以在轴上设置Formatter,例如FormatStrFormatter.
简单的例子:
import matplotlib.pyplot as plt
import matplotlib.ticker as ticker
plt.plot([10, 20, 30], [1, 3, 2])
axes = plt.gca()
axes.get_xaxis().set_major_locator(ticker.MultipleLocator(1))
axes.get_xaxis().set_major_formatter(ticker.FormatStrFormatter("%x"))
plt.show()
Run Code Online (Sandbox Code Playgroud)
小智 5
在 64 位机器上使用 python 3.5 我因为类型不匹配而出错。
TypeError: %x format: an integer is required, not numpy.float64
Run Code Online (Sandbox Code Playgroud)
我通过使用函数格式化程序来解决它,以便能够转换为整数。
import matplotlib.pyplot as plt
import matplotlib.ticker as ticker
def to_hex(x, pos):
return '%x' % int(x)
fmt = ticker.FuncFormatter(to_hex)
plt.plot([10, 20, 30], [1, 3, 2])
axes = plt.gca()
axes.get_xaxis().set_major_locator(ticker.MultipleLocator(1))
axes.get_xaxis().set_major_formatter(fmt)
plt.show()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2136 次 |
| 最近记录: |